关联容器的一些操作
关联容器:map、set、unordered_map、unordered_set
- 访问元素find()
c.find(k)返回一个迭代器,指向第一个关键字为k的元素,若k不在容器中,返回尾后迭代器 - 删除元素erase()
c.erase( k )从c中删除每个关键字为k的元素,返回删除元素的数量
c.erase( p )从c中删除迭代器p指定的元素,必须指向c中的一个真实元素,不能等于c.end(),
c.erase(b, e)从c中删除迭代器b和e所表示的范围中的元素[b,e),返回e - pair上的操作
pair<T1, T2> p;
pair<T1, T2> p(v1, v2);
pair<T1, T2> p = {v1, v2};
make_pair(v1, v2);返回一个用v1,v2初始化的pair。pair类型由v1、v2推断出来
p.first
p.second
顺序容器的删除操作(会改变容器的大小)
顺序容器:vector, deque, list, forward_list, array, string
顺序容器的find函数find(beg, end, val)返回一个迭代器指向序列中第一个等于val的元素
-
c.pop_back()
-
c.pop_front()
-
c.erase( p )删除迭代器p所指定的元素,返回一个指向被删元素之后元素的迭代器
-
c.erase(b, e)删除迭代器[b,e)所指范围内的元素,返回一个指向最后一个被删元素之后元素的迭代器
-
特别的,对于string,还有额外的操作s.erase(pos,len)从pos开始删除len个字符,返回指向s的引用
-
string中find()的用法
s.find(args)查找s中args第一次出现的位置