注:
-
构造函数默认为c++11
-
函数原型省略了一些细节,只展示实际需要填写的情况(分配器已经隐藏了,需要可以去c++reference查看)
-
参数栏表示传入的两个参数的意义而不是类型
-
返回值栏表示类型而不是意义
-
粉红色表示为c++11新特性
构造方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
构造函数 | vector(); | 无 | default | 创建一个没有成员的空vector |
构造函数 | vector (size_type n); | 空间数量n | default | 创建一个含有n个元素大小(填充默认值)的vector |
构造函数 | vector (size_type n, const value_type& val); | 空间数量n,填充值val | default | 创建一个含有n个元素的vector,并把初始化,值为val |
构造函数 | vector (InputIterator first, InputIterator last); | 开始位置的迭代器first,结束位置的迭代器last | default | 创建一个vector,并初始化,与两个迭代中间内容相同 |
构造函数 | vector (const vector& x); | vector x | default | 创建一个vector,并初始化,与x一致 |
构造函数 | vector (vector&& x); | vector x | default | 创建一个vector,并获取x的元素 |
构造函数 | vector (initializer_list<value_type> il) | 已经初始化的列表il | default | 创建一个vector,并初始化,其中的元素与il中(按顺序)一致 |
析构函数 | N/A | N/A | N/A | N/A |
重载= | vector& operator= (const vector& x); | vector x | vector& | 把x的内容赋给容器,并相应的改变大小 |
迭代器方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
begin | iterator begin() noexcept; | 无 | 迭代器 | 返回一个迭代器,指向首个元素 |
end | iterator end() noexcept; | 无 | 迭代器 | 返回一个迭代器,指向最后一个元素的下一个元素 |
rbegin | reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个反向迭代器,指向最后一个元素 |
rend | reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个迭代器,指向第一个元素的前一个元素 |
cbegin | const_iterator cbegin() const noexcept; | 无 | 迭代器 | 返回一个常量迭代器,指向首个元素 |
cend | const_iterator end() noexcept; | 无 | 迭代器 | 返回一个常量迭代器,指向最后一个元素的下一个元素 |
crbegin | const_ reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个常量反向迭代器,指向最后一个元素 |
crend | const_ reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个常量迭代器,指向第一个元素的前一个元素 |
容量方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
size | size_type size() const noexcept; | 无 | 非负整数 | 返回容器中元素的数量 |
max_size() | size_type max_size() const noexcept; | 无 | 非负整数 | 返回容器能容纳的最大数量 |
resize | void resize (size_type n); | 空间大小n | 无 | 调整容器大小 |
capacity() | size_type capacity() const noexcept; | 无 | 非负整数 | 返回当前分配给向量的存储空间大小,以元素表示。 |
empty | bool empty() const noexcept; | 无 | bool | 返回容器是否为空 |
reserve | void reserve (size_type n); | 空间大小n | 无 | 设置容器最小容量为n,当元素大于这个容量时才会扩充 |
shrink_to_fit | void shrink_to_fit(); | 无 | 无 | 将容器的容量设置为容器内储存的元素数量 |
元素访问方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
重载[] | reference operator[] (size_type n); | 下标n | 引用 | 返回下标为n的位置的引用 |
at | reference at (size_type n); | 下标n | 引用 | 返回下标为n的位置的引用 |
front | reference front(); | 无 | 引用 | 返回第一个元素的引用 |
back | reference back(); | 无 | 引用 | 返回最后一个元素的引用 |
data | value_type* data() noexcept; | 无 | 相应类型的指针 | 返回指向容器的指针 |
修饰方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
assign | void assign (InputIterator first, InputIterator last); | 迭代器first,迭代器last | 无 | 替换容器中的内容并相应的改变其大小 |
assign | void assign (size_type n, const value_type& val); | 空间大小n,填充值val | 无 | 替换容器中的内容并相应的改变其大小 |
assign | void assign (initializer_list<value_type> il); | 已经初始化的列表il | 无 | 替换容器中的内容并相应的改变其大小 |
push_back | void push_back (value_type&& val); | 添加的值val | 无 | 在容器尾部添加一个值为val的元素 |
pop_back | void pop_back(); | 无 | 无 | 删除容器最后一个元素 |
insert | iterator insert (const_iterator position, const value_type& val); | 表示位置的迭代器position,插入值val | 无 | 在position后面插入一个值为val的元素 |
insert | iterator insert (const_iterator position, size_type n, const value_type& val); | 表示位置的迭代器position,插入的数量n,插入值val | 无 | 在position后面插入n个值为val的元素 |
insert | iterator insert (const_iterator position, InputIterator first, InputIterator last); | 表示位置的迭代器position,表示插入的开头的迭代器first,表示插入的结尾的迭代器last | 无 | 在position后面插入从first到last之间的元素 |
insert | iterator insert (const_iterator position, initializer_list<value_type> il); | 表示位置的迭代器position,插入的列表il | 无 | 在position后面插入il中的各个元素 |
erase | iterator erase (const_iterator position); | 表示位置的迭代器position | 无 | 移除position位置的元素 |
erase | iterator erase (const_iterator first, const_iterator last); | 表示开头的迭代器first,表示结尾的迭代器last | 无 | 删除first与last之间的元素 |
swap | void swap (vector& x); | 交换的vector x | 无 | 将容器与x中的内容交换 |
clear | void clear() noexcept; | 无 | 无 | 清空容器 |
emplace | iterator emplace (const_iterator position, Args&&... args); | 表示位置的迭代器position,参数…… | 迭代器 | 将position前面插入值为参数的元素(一个或多个值)并返回插入的最后一个元素的迭代器 |
emplace_back | void emplace_back (Args&&... args); | 参数 | 无 | 在容器末尾插入值为参数的元素(一个或多个值) |
分配器
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
get_allocator | allocator_type get_allocator() const noexcept; | 无 | 分配器 | 返回分配器的一个拷贝 |
- 该文章为翻译c++ Reference结合其他资料整理得出