Standard Template Library (STL) 序列容器
1. 容器
容器是用来存储和组织其他对象的对象。
2. Standard Template Library (STL) 序列容器
5 个基本序列容器的类模板是 vector<T>
、array<T, N>
、list<T>
、forward_list<T>
和 deque<T>
。
在特定实例中选择使用哪个模板取决于应用程序。这些序列容器根据它们能有效进行的运算明显地区分开来。
如果需要随机访问容量可变的容器的内容,而且喜欢总是在序列末尾添加或删除对象,则选择 vector<T>
作为容器模板。虽然可以在矢量中随机地添加或删除对象,但是过程会非常慢,因为必须移动插入点或删除点后面的所有对象。如果可以存储数量固定的元素,则 array<T, N>
的存储和检索操作比 vector<T>
快,因为没有增加容器容量的开销 array<T, N>
容器可以在栈上分配内存,也比普通的数组更灵活。
deque<T>
容器非常类似于 vector<T>
,且支持相同的操作,但是它还具备在序列开头添加和删除的功能。list<T>
容器是双向链表,因此可以有效地在任何位置添加或删除。列表的缺点是不能随机访问内容,访问列表内部对象的唯一方式是从头开始遍历内容,或者从末尾开始反向遍历内容。
Standard Template Library,STL:标准模板库
References
Ivor Horton’s Beginning Visual C++ 2013
http://www.wrox.com/WileyCDA/WroxTitle/productCd-1118845714.html