容器

顺序容器类型:
vector 支持快速随机访问
list 支持快速插入/删除
deque 双端队列

容器元素初始化

C<T> c;
C<T> c(c2);
C<T> c(begin,end);
C<T> c(n,t);//顺序容器
C<T> c(n); //顺序容器,采用这种类型的初始化,元素类型必须是内置或复合类型,或者是提供了默认构造函数的类型。

容器内元素的类型约束

元素类型必须支持赋值运算;
元素类型的对象必须可以复制。
引用类型、IO标准库类型、auto_ptr类型不支持复制或赋值,因此不能创建存放这些类型对象的容器。

容器定义的类型别名

类型别名含义
size_type无符号整形,足以存储此容器类型的最大可能容器长度
iterator此容器类型的迭代器类型
const_iterator元素的只读迭代器类型
reverse_iterator元素的逆序迭代器类型
const_reverse_iterator元素的只读逆序迭代器类型
difference_type足够存储俩个迭代器差值的有符号整型
value_type元素类型
referencevalue_type&的同义词,元素的左值类型
const_referrenceconst value_type&,元素的常量左值类型

begin和end

c.begin(),
c.end(),
c.rbegin(),它指向容器c的最后一个元素
c.rend(),他指向容器c的第一个元素前面的位置

不要存储end()操作返回的迭代器。添加或删除deque或vector容器内的元素都会导致存储的迭代器失效。

容器大小操作

c.size()
c.max_size()
c.empty()
c.resize(n)
c.resize(n,t)

访问容器元素

c.back()
c.front()
c[n]//只适用于vector和deque
c.at(n)//同上

删除容器元素

c.erase(p)
c.erase(b,e)
c.clear()
c.pop_back()
c.pop_front()//只适用list和deque

容器赋值与swap

c1=c2
c1.swap(c2)

c.assign(b,e)
c.assign(n,t)

vector容器自增长

c.capacity()//容量
c.reserve()//告之容器应该预留多少存储空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值