所有基本序列容器完全按照存进去的顺序持有对象。然而,对于不同的基本序列容器,他们的操作效率是不同的,因此如果想要操纵具有某种特点的序列,则应当针对不同的操作类型选择合适的容器。
当调用resize()扩展一个序列时,新的元素使用序列内元素类型的默认构造函数,若果它们是内置类型,则使用0作为初始值。调用这个函数之后,就可以引用容器内的对象了,因此当加入新的元素时,用operator[]操作符,或者用迭代器来引用元素对象。与之对应的reserve()则是容器预留空间,并不真正创建元素对象,在创建对象之前,不能引用容器内的元素,因此当加入新的元素时,需要用push_back()/insert()函数。(并不是所有序列容器都由reserve()成员函数,如list就没有)。
要用erase()清除序列中间的一个元素,使用一个迭代器;要用erase()清除序列中间的一组元素,使用一对迭代器。注意,因为仅支持双向迭代器,list中所有迭代器都只能通过增1或减1来进行移动(通过重载自增或自减操作符)。(如果容器为可以产生随机访问迭代器的vector或者deque,operator+和operator-可以使迭代器移动更大的距离。)
尽管list和deque支持push_front()和pop_front(),vector却不支持,但3者都支持push_back()和pop_back().