C++标准模板库(STL)常用容器及其函数
standard template library
参考网站:
- cplusplus.com
- cppreference.com
- gcc.gnu.org
六大部件:
- 容器
- 分配器:allocator
- 算法
- 迭代器(泛化的指针)
- 仿函数
- 适配器
序列式容器
其中元素是可序的,但未必有序
array
c++语言提供的序列式容器,静态空间
array<int,size>a;
a.size();
a.front();
a.back();
a.data(); //a 的起始地址
vector
维护一个连续性空间,空间两倍增长;如果涉及空间重新配置,指向原vector的所有迭代器都失效
class vector{
void push_back(int x);
void pop_back();
iterator erase(iterator position); //清除某位置上的元素
void clear();
bool empty();
size_type size();
size_type capacity();
void insert(iterator position,size_type n,const int& x); //从position开始,插入n个元素,元素处置为x
iterator begin();
iterator end();
reference front();
reference back();
};
v.size();
v.capacity(); //真正的容量大小
v.front();
v.back();
v.data(); //a 的起始地址
auto pi=find(v.begin(),v.end(),target); //标准库提供
list
环状双向链表(node刻意