c++ primer复习(四)
1 标准库容器
顺序容器:vector、list、deque
容器适配器:stack、queue、priority_queue
2 容器元素类型约束:
容器元素类型必须支持复制和赋值,因为容器存放的都是元素的副本
容器的元素类型是类类型且该类型没有默认构造函数时,创建容器对象时必须提供形参列表
3 容器迭代器:
vector和deque容器迭代器提供的特殊操作
iter+n,iter-n,iter1+=iter2,iter1-=iter2,>,>=,<,<=(其他容器的迭代器只支持==和!=操作,以及自增自减操作)
因为只有这两种容器的底层实现是连续的,支持元素的快速随机访问,迭代器才可能比较大小
4 容器操作:
容器定义的类型别名:size_type,iterator,const_iterator,reverse_iterator,const_reverse_iterator,difference_type,value_type,reference,const_reference
首尾迭代器:begin、end、rbegin、rend成员
添加元素:push_back、push_front(deque、list才有)成员,insert 成员
关系操作符:容器支持的关系操作符取决于元素支持的关系操作符
容器大小操作:size、max_size、empty成员,resize(n)、resize(n,t)n若小于现有大小会删除多出部分,capacity
访问元素:back、front、at(仅vector、deque支持)
删除元素:erase(p),erase(b,e),clear、pop_back()、pop_front()
容器整体赋值:assign(b,e),assign(n,t)
交换:swap(v)
5 string类型
支持的容器操作:除了push_front、pop_front、pop_back、front、back操作外的几乎所有操作
只适用于string的操作:
substr(pos,n),substr(pos),substr()
append(args)
replace(pos,len,args),replace(b,e,args)
查找操作:find, findr,find_first_of,find_last_of,find_first_not_of,find_last_not_of
比较:compare
6 容器适配器