容器基本操作

文章目录

本文列举C++中容器的通用操作。来源于C++ primer

类型 说明
类型别名
iterator 容器的迭代器类型
const_iterator 可以读取元素,但不能修改元素的迭代器类型
size_type 无符号整数类型,足够保存此种容器类型最大可能大小
difference_type 带符号整数类型,足够保存两个迭代器之间的距离
value_type 元素类型
reference 元素的左值类型,与value_type&含义相同
const_reference 元素的const左值类型(const value_type &)
构造函数
C c; 默认构造函数,构造空的容器
C c1(c2) 构造出c2的拷贝c1
C c(b,e) 构造c,将迭代器b和e指定的范围内的元素拷贝到c (array不支持)
C c{a,b,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) 将args中的元素拷贝进c
c.emplace(inits) 使用inits构造c中的一个元素
c.erase(args) 删除args指定的元素
c.clear() 删除c中的所有元素,返回void
关系运算符
==, != 所有容器都支持相等(不等于)运算符
<,<=,>,>= 无序关联容器不支持
获取迭代器
c.begin(), c.end() 返回指向c的首元素和尾元素之后位置的迭代器
c.cbegin(),c.cend() 返回const_iterator
反向容器的额外成员(不支持forward_list)
reverse_iterator 逆序寻址元素的迭代器
const_reverse_iterator 不修改元素的逆序迭代器
c.rbegin(),c.rend() 返回指向c的尾元素和首元素之前位置的迭代器
c.crbegin(),c.crend 返回const_reverse_iterator