c++ primer -- 顺序容器

(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:等于

你可能感兴趣的:(c++ primer -- 顺序容器)