学习笔记(二)

c++容器小节

容器分为顺序容器vector 、list、deque;顺序容器适配器stack、queue、priority_queue;关联容器map、multimap、set、multiset;

1.容器内元素的类型约束

容器的元素类型必须满足以下两个最低约束:

(1). 元素类型必须支持赋值运算;

(2).元素类型的对象必须可以复制。

引用不支持一般意义的赋值运算,因此没有元素是引用类型的容器。

输入输出(IO)标准库类型不支持复制或赋值,不可以创建存放IO类型对象的容器。

2.迭代器


3.容器的插入删除操作

插入删除操作会使迭代器失效。

4.赋值与swap

swap操作不会使迭代器失效,完成swap操作后,尽管被交换的元素已经存放在另一个容器中,但迭代器仍然指向相同的元素,例如:有一个迭代器iter指向svec[3]字符串,实现svec1.swap(svec2),该迭代器则指向svec2[3]字符串(这是同一个字符串,只是存储在不同的容器之中而已)。

如果两个·容器类型相同,其元素类型也相同,可以使用赋值操作符=将一个容器赋值给另一个容器;如果在不同类型的容器内,元素类型不相同但是互相兼容的,其赋值运算必须使用assign函数,assign函数不能实现自赋值。

5.容器的选用

元素是否连续存储会显著地影响:

(1).在容器的中间位置添加或删除元素的代价;

(2).执行容器的随机访问的代价。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值