Unix/C++--容器
1 简介
- 从c++11标准以来,c++中std定义的几种容器的效率非常高,优化的非常好,完全没有必要自己去定义类似的数据结构。了解使用它们,可以满足90%的日常编程需要。
- 顺序容器:
vector
string (它不是类模板)
list
forward_list
deque
queue
priority_queue
stack - 有序关联容器:
map
multimap
set
multiset - 无序关联容器:
unordered_map
unordered_multimap
unordered_set
unordered_multiset
2 各容器介绍
3 容器操作
3.1 push_back()
- push_back()函数向容器中加入一个临时对象(右值元素)时, 首先会调用构造函数生成这个对象,然后条用拷贝构造函数将这个对象放入容器中, 最后释放临时对象。
3.2 emplace_back()
- emplace_back()函数向容器中中加入临时对象, 临时对象原地构造,没有赋值或移动的操作。
- 据统计,emplace_back()函数要比push_back()函数要快一倍。到底快多少,目前博主没有测试。
参考
1、C++中常用的std标准容器
2、cppreference.com–Containers library
3、C语言中文网–C++容器(STL容器)