string 和 vector 初探】的更多相关文章

标准库类型 string string 表示可变长的字符序列.是C++标准库类型的一部分,拥有很多优秀的性能. 定义 string 对象时如未人为初始化编译器会默认初始化为空字符串. string 对象的初始化有非常多种.大体分为两类:拷贝初始化和直接初始化. 全部用等号(=)的初始化都为拷贝初始化.相反不是等号则为直接初始化. 当初始值仅仅有一个时,拷贝和直接初始化都可,但须要用到多个值的时候,一般来说仅仅能使用直接初始化. 建议尽量使用直接初始化. string s1;//默认初始化为空串…
题目:http://poj.org/problem?id=3096 题意:给定一个字符串S,从中找出所有有两个字符组成的子串,每当组成子串的字符之间隔着n字符时,如果没有相同的子串出现,则输出 "S is surprising." , 反之,则输出 "S is NOT surprising." . 例如 AABA 把它分成两个字符为一个整体的,1..相邻两个字符 AA,AB,BA 没有相同的;    2.隔一个字符的 AB AA 没有相同;          3.隔…
#include<iostream> #include<string> #include<vector> #include<fstream> using namespace std; int main(int argc,char *argv[]) { ifstream input(argv[]); vector<string> vec; string tmp; while(getline(input,tmp)) { vec.push_back(t…
在用string做字符串拼接时,会发现随着string的增大越来越慢,原因主要是string(和vector)是基于现行内存的数据结构,在海量数据时,经常会申请新的一块内存,把原有的数据拷贝过去然后再析构掉,这样非常浪费时间,使用reserve可以有效的改变这种情况 因为string(和vector)的reserve最大的用处是为了避免反复重新分配缓冲区内存而导致效率降低,或者在使用某些STL操作(例如std::copy)之前保证缓冲区够大.在面对大数据量时,应该先调用 reserve(size…
细节要点 getline(cin,string)与cin>>string 在VS2013中通过输入换行符\n,对getline以及cin的用法进行测试,但是并没有像文中所述遇到换行符停止读入.而是ReadKey回车后停止读取. getline这个函数接受两个参数: 一个输入流对象和一个 string 对象.getline 函数从输入流的下一行读取,并保存读取的内容到不包括换行符.和输入操作符不一样的是,getline 并不忽略行开头的换行符.只要 getline 遇到换行符,即便它是输入的第一…
两种最重要的标准库---string和vector string和vector是两种最重要的标准库类型,string表示可变长的字符序列,vector存放的是某种给定类型对象的可变长序列. 一.标准库类型string   1.定义和初始化string对象:初始化string对象的方式有 string s1   默认初始化,s1是一个空串   string s2(s1)   s2是s1的副本 string s2=s1   等价于s2(s1),s2是s1的副本 string s3("value&qu…
翻译 给定两个字符串s和t,决定它们是否是同构的. 假设s中的元素被替换能够得到t,那么称这两个字符串是同构的. 在用一个字符串的元素替换还有一个字符串的元素的过程中.所有字符的顺序必须保留. 没有两个字符能够被映射到同样的字符,但字符能够映射到该字符本身. 比如, 给定"egg","add",返回真. 给定"foo"."bar",返回假. 给定"paper","title",返回真.…
课程大纲 02实现基本原理 容器,算法,迭代器 教室:容器 人:元素 教室对于楼:容器 序列式容器: 容器元素在容器中的位置是由进入容器的时间和地点来决定 序列式容器 关联式容器: 教室中 按年龄排座,进去的人已经确定好应该坐在哪了 算法:遍历 查找 删除 统计 … 迭代器:就理解为一个指针 STL中容器和算法式是离开的,通过迭代器进行操作 03 STL基本概念理论 迭代器其实是对指针的封装,是类对象,里面有各种重载 04 string字符串常用操作 05 string课堂案例   06 vec…
string.vector 互转 string 转 vector vector  vcBuf;string        stBuf("Hello DaMao!!!");----------------------------------------------vcBuf.resize(stBuf.size());vcBuf.assign(stBuf.begin(), stBuf.end()); vector 转 string  stBuf.clear();stBuf.assign(v…
一.String对象 1.string s;      s.size(); //返回的是s中字符的个数,也是s的长度: //string对象最后没有加空字符 //size()返回的是string::size_type类型,也就是unsigned类型,而不是int类型 2.两个string对象的相加 string标准库中重载了"+"运算符: string s1("hollo"); string s2("world"); string s3=s1+s…