容器操作
类型 / 用法 | 注释 |
---|---|
类型别名 | |
iterator | 此容器类型的迭代器类型 |
const_iterator | 可以读取元素,但不能修改元素的迭代器类型 |
size_type | 无符号整数类型,足够保存此种容器类型最大可能容器的大小 |
difference_type | 带符号整数类型,足够保存两个迭代器之间的距离 |
value_type | 元素类型 |
reference | 元素的左值类型;与va1ue_type&含义相同 |
const_reference | 元素的 const左值类型(即, const value_type) |
构造函数 | |
C c | 默认构造函数,构造空容器(array) |
C c1(c2) | 构造c2的拷贝c1 |
C c(b, e) | 构造c,将迭代器b和e指定的范围内的元素拷贝到C(array不支持) |
C c{a, b, c} | 列表初始化c |
赋值与swap | |
c1=c2 | 将c1中的元素替换为c2中元素 |
c1={a,b,c… } | 将c1中的元素替换为列表中元素(不适用于array) |
a.swap(b) | 交换a和b的元素 |
swap(a, b) | 与a.swap(b)等价 |
大小 | |
c.size() | c中元素的数目(不支持 forward_list) |
c.max_size() | c可保存的最大元素数目 |
c.empty() | 若c中存储了元素,返回false,否则返回true |
添加/删除元素(不适用于 array)注:在不同容器中,这些操作的接口都不同 | |
c.insert(args) | 将ags中的元素拷贝进c |
c.emplace(inits) | 使用inits构造c中的一个元素 |
c.erase(args) | 删除ags指定的元素 |
c.clear | 删除c中的所有元素,返回void |
关系运算符 | |
==, != | 所有容器都支持相等(不等)运算符 |
<,<=,>,>= | 关系运算符(无序关联容器不支持) |
获取迭代器 | |
c.begin (), c.end() | 返回指向c的首元素和尾元素之后位置的迭代器 |
c.cbegin(), c.cend() | 返回 const_iterator |
反向容器的额外成员(不支持 forward_1ist) | |
reverse_iterator | 按逆序寻址元素的迭代器 |
const_reverse_iterator | 不能修改元素的逆序迭代器 |
c.rbegin () , c.rend() | 返回指向c的尾元素和首元素之前位置的迭代器 |
c.crbegin(), c.crend() | 返回const reverse lterator |