empty()操作符,检查容器是否为空
push_back() 它将元素插入在容器的尾
list 和deque 容器也支持push_front() 它把新元素插入在链表的前端.所以如果容器的主要行为是在前端插入元素则deque 比vector 的效率高所以我们应该优先选择deque
vector ilist(list_size); //list_size为容器大小,每个元素被初始化为该类型缺省值
vector ilist(list_size,-1); //初始化为list_size个int,每个为-1
除了给出初始长度外我们还可以通过resize()操作重新设置容器的长度
vector ilist(list_size);
vector ilist2(ilist); //使用一个容器对象初始化另外一个容器对象
每个容器支持一组关系操作符我们可以用来比较两个容器这些关系操作符分别是等于不等于小于大于小于等于以及大于等于
begin()返回一个iterator 它指向容器的第一个元素
end()返回一个iterator 它指向容器的末元素的下一个位置
iterator 算术运算只适用于vector 或deque 而不适用于list 因为list 的元素在内存中不是连续存储的
vector svec;
vector svec2( svec.begin(), svec.end() ); // 用svec 的全部元素初始化svec2
vector svec3( svec.begin(), svec.begin() + svec.size()/2 );// 用svec 的前半部分初始化svec3
vector< string > vwords( words, words+4 );//words 首元素指针和末元素后一位置的指针来初始化
slist.insert( iter, spouse );
insert()的第一个参数是一个位置指向容器中某个位置的iterator 第二个参数是将要被插入的值这个值被插入到由iterator 指向的位置的前面
svec.insert( svec.begin(), 10, anna );//vector 的开始处插入10 个Anna
svec.insert( svec.begin() + svec.size()/2,sarray+2, sarray+4);//插入部分元素
svec_two.insert( svec_two.begin() + svec_two.size()/2,svec.begin(), svec.end() );//插入svec 中含有的元素,从svec_two 的中间开始
删除容器内元素的一般形式是一对erase()方法一个删除单个元素 另一个删除由一对iterator 标记的一段范围内的元素 删除容器末元素的简短方法由pop_back()方法支持
slist1 = slist2;// slist1 含有10 个元素,slist2 含有24 个元素, 赋值之后都含有24 个元素
slist1.swap( slist2 );//与上面区别在于slist2 现在含有slist1 中原来含有的10 个元素的拷贝
string::npos 使用find()未找到的返回值
string::size_type 使用find()返回值类型
find_first_of()查找与被搜索字符串中任意一个字符相匹配的第一次出现,返回size_type类型索引
find_first_of( numerics, pos ) 从pos位置开始查找与被搜索字符串中任意一个字符相匹配
substr()操作生成现有string 对象的子串的一个拷贝它的第一个参数指明开始的位置第二个可选的参数指明子串的长度
rfind() 查找最后即最右的指定子串的出现
find_first_not_of()查找第一个不与要搜索字符串的任意字符相匹配的字符
find_last_of()查找字符串中的与搜索字符串任意元素相匹配 的最后一个字符
find_last_not_of()查找字符串中的与搜索字符串任意字符全不匹配的最后一个字符
word.erase(pos, 1);这个版本的erase()操作的第一个参数表示字符串中要被删除的字符的开始位置第二个参数是可选的表示要被删除的字符的个数
tolower( (*iter)[pos] );是标准C 库函数它接受一个大写字符并返回与之等价的小写字母为了使用它我
们必须包含头文件tolower( (*iter)[pos] );
erase()的第二种形式用一对迭代器iterator 作参数标记出要被删除的字符的范围,由第二个iterator 指向的字符不属于要被删除的字符范围,第三种形式只带一个i