(1)顺序容器将单一类型元素聚集起来成为容器,然后根据位置来存储和访问。
(2)标准库提供了vector,list,deque三种顺序容器以及stack,queue, priority_queue三种容器适配。
(3)将容器复制给另一个容器时,类型必须匹配,容器类型以及元素类型都必须相同。
(4)接受容器大小做形参的构造函数只适用于顺序容器,而关联容器不支持这种初始化。
(5)容器类型必须满足两个 约束1)元素类型必须支持赋值运算2)元素类型的对象必须可以复制。
(6)IO库类型不支持复制或者赋值,所以不能创建存放IO类型的容器
(7)没有元素是引用类型的容器。
(8)*iter返回迭代器iter所指向的元素的引用。
(9)迭代器的区间范围是左闭合区间。
(10)添加以及删除都会使迭代器失效。
(11)所有的顺序容器都支持push_back, push_front只支持list和deque
(12)在容器中添加元素时,系统将元素值复制到容器中,修改容器值不会影响原来的值。
(13)C++只允许两个容器做其元素类型定义的关系运算。
(14)erase 操作不会检查它的参数,程序员必须保证作用的迭代器或迭代器的范围有效。
(15)swap操作,首先将其左操作数容器中的所有元素,然后将右操作数容器中的所有元素插入到左边容器中。
(16)assgin 操作删除容器中的所有元素,然后将其参数所指定的新元素插入到该容器中, 由于assgin先删除容器中原来的所有元素,所以传递给assign函数不能指向调用该函数的容器内的元素。
(17)swap不会删除或者插入任何元素,而且保证在常量时间内实现交换,由于容器没有移动任何元素,因此迭代器不会失效。
(18)capacity 操作获取容器需要分配的存储空间之前能够存储的元素总数,而reserve操作则告诉vector容器应该预留多少个元素的存储空间。
(19)list可以高效的insert和erase一个元素,但是它不支持随机访问,访问一个元素需要遍历其他元素,vector除了再容器尾部外其他位置都需要将元素右边的元素进行移动,deque从两边插入和删除都非常快,在中间插入和删除的代价高。