(1)迭代器和迭代器范围
vector和deque容器的迭代器提供额外的运算:+ - += -=,> ,>=,<,<=;而list容器的迭代器既不支持算术运算也不支持关系运算
(2)顺序容器中添加元素
所有容器都支持push_back操作;而insert则只在list,depue容器中使用
(3)容器大小的操作:
size():返回容器中的元素个数
resize():调整容器的长度大小
(4)容器的删除元素:
erase():删除迭代器所指向的元素
pop_back():删除容器的最后一个元素
pop_front():删除容器的第一个元素(只适用于list和queue容器)
(5)sawp和assign函数
assign首先删除容器中所有的元素,然后将其参数所指定的新元素插入到该容器中。swap交换的两个容器的类型相同,元素类型也相同,assign则不然。
(6)vector容器的自增长
capacity和reserve成员:capacity获取在容器需要分配更多的存储空间之前能够存储的元素总数,而reserve则告诉vector容器应该预留多少个元素的存储空间。
(7)容器的选用
插入操作:vector和deque效率相对低一些
随机访问:vector和deque比较好
准则:如果程序不是在容器中间位置,而是在容器首部或尾部插入或删除元素,则应采用deque容器
(8)只适用于string类型的操作
substr:返回当前string对象的子串
---substr(pos,n):返回一个string类型的字符串,它包含s中从下标pos开始的n个字符
---substr(pos):返回一个string类型的字符串,它包含s中从下标pos开始到末尾的所有字符
append:将字符添加在对象的末尾
replace:
---s.replace(pos,len,args):删除s中从下标pos开始的len个字符,用args指定的字符替换之。返回s的引用
---s.replace(b,e,args):删除迭代器b和e标记的范围内所有的字符,用args替换之。返回s的引用
(9)string类型的查找操作
s.find(args):在s中查找args的第一次出现
s.rfind(args):在s中查找args的最后一次出现
注:查找不到时,会返回一个string::npos的特殊值,一般为-1。
(10)string对象的比较
s1.compare(args);
args的形式比较多;
compare函数的返回值:
---正数:此时s1大于args所代表的string对象
---负数:此时s1小于args所代表的string对象
---0:等于