CH6

1.       顺序容器(sequence container)拥有由单一类型元素组成的一个有序集合,两个主要的顺序容器是list和vector。

2.       关联容器(associative container)支持查询一个元素是否存在,并且可以有效地获取元素;两个基本的关联容器类型是map映射和set集合;map是一个键/值(key/value)对,键(key)用于查询,而值(value)包含我们希望使用的数据;set包含一个单一键值,有效支持关于元素是否存在的查询。

3.       vector表示一段连续的内存区域,每个元素被顺序存储在这段内存中。

4.       list表示非连续的内存区域,并通过一对指向首尾元素的指针双向链接起来,从而允许向前和向后两个方向进行遍历。

5.       选择顺序容器类型的一些准则:1)如果我们需要随机访问一个容器,则vector要比list好得多;2)如果我们已知要存储元素的个数,则vector又是一个比list好的选择;3)如果我们需要的不只是在容器两端插入和删除元素,则list显然要比vector好;4)除非我们需要在容器首部插入和删除元素,否则vector要比deque好。

6.       一个需要动态增长的vector必须分配一定的内存以便保存新的序列、按顺序拷贝旧序列的元素以及释放旧的内存。

7.       容量是指在容器下一次需要增长自己之前能够被加入到容器中的元素的总数(容量只与连续存储的容器相关,例如:vector、deque或string;list不要求容量)。

8.       无论是list还是vector,对于已定义拷贝构造函数的类来说,插入这样的类的元素都需要调用拷贝构造函数。随着每次重新分配内存,vector必须为每个元素调用拷贝构造函数;而且在释放原来的内存时,它要为每个元素调用其相关类型的析构函数。

9.       容器对象的定义以容器类型的名字开始,后面是所包含的元素的实际类型。

10.   除了用相关联的初始值来初始化每个元素外,我们还可以指定一个值,并用它来初始化每个元素。

11.   我们能够定义的容器的类型有三个限制:1)元素类型必须支持等于操作符;2)元素类型必须支持小于操作符;3)元素类型必须支持一个缺省值(对于类类型,即指缺省构造函数)。

12.   迭代器(iterator)提供了一种一般化的方法,对顺序或关联容器类型中的每个元素进行连续访问。

13.   每种容器类型都提供一个begin()和一个end()成员函数:1)begin()返回一个iterator,它指向容器的第一个元素;2)end()返回一个iterator,它指向容器的末元素的下一个位置。

14.   iterator算术运算只适用于vector或deque,而不适用于list,因为list的元素在内存中不是连续存储的。

15.   容器对象也可以用“由一对iterator标记的起始元素和未元素后一位置之间的拷贝”来初始化。

16.   除了一对iterator之外,两个指向内置数组的指针也可以被用作元素范围标记器(range marker)。

17.   删除容器内元素的一般形式是一对erase()方法:一个删除单个元素,另一个删除由一对iterator标记的一段范围内的元素。

18.   赋值操作符使用针对容器元素类型的赋值操作符,把右边容器对象中的元素依次拷贝到左边的容器对象中。

19.   把所有容器类型的公共操作抽取出来,形成一个通用算法集合,它能够被应用到全部容器类型以及内置数组类型上;这组通用算法被称作泛型算法泛型算法;泛型算法通过一个iterator对,被绑定到一个特殊的容器上。

20.   getline()读取istream对象,向string对象插入字符,包括空格,直到遇到分割符、文件结束,或者被读入的字符序列等于string对象的max_size()值,在该点处读入操作失败。

21.   find_last_of()查找字符串中的“与搜索字符串任意元素相匹配”的最后一个字符;find_last_not_of()查找字符串中的与搜索字符串任意字符全不匹配的最后一个字符。

22.   在map(也叫关联数组,associative array)中,提供一个“键/值”对;键用来索引map,而值用作被存储和检索的数据。

《C++ Primer》经典语句(五)相关推荐

  1. 跟java有关的搞笑句子,有关搞笑的经典语句

    有关搞笑的经典语句 1.自己对着镜子说我爱你之后笑的不可开交 2.因为喜欢,所以情愿,没有那么多为什么. 3.水至清则无鱼,人至贱则无敌. 4.我他妈胡思乱想还不是因为我爱你 5.若我的离开可以换来你 ...

  2. 业余草:《名博是怎样炼成的》经典语句整理

    最近业余草拜读了<名博是怎样炼成的:个人品牌博客全攻略>一书,整理了其中的部分经典语句,分享给大家. 一口气读完了月光.萧秋水和秋叶著的<名博是怎样炼成的:个人网络品牌博客全攻略&g ...

  3. C++ primer (中文版-第五版 )练习题答案

    C++ primer (中文版-第五版 ) 练习题答案 第1章 开始 1.4控制流 1.4.1节 while语句练习 1.4.2节 for语句练习 1.4.3节 读取数量不定的输入数据练习 1.4.4 ...

  4. 经典语句(人生经典语句 爱情经典语句)

    * 人生经典语句 <决心>.人的一生有许多难以取舍,困惑不已的锁事所纠缠着,这时所需的就是断然的舍弃与明智的抉择,唯一会限制我们的,是我们自己的决心. <理由>.逃避不一定躲的 ...

  5. C Primer Plus第五版记录

    此文用来记录我在学习<C Primer Plus第五版>期间所遇到的重要知识点.以日后用来提醒自己,也十分希望广大博友留言与我一起讨论交流. ----------------------- ...

  6. Primer c++第五版笔记2(到第9章完)

    目录 Primer c++第五版笔记2(到第9章完) 8 IO库 8.1 IO类 8.1.1 IO对象无拷贝或赋值 8.1.2 条件状态 8.1.3 管理输出缓冲 8.2 文件输入输出 8.2.1 使 ...

  7. [仙剑四]仙剑四十大经典语句评析

    仙剑四里面的剧情曾经感动了很多仙剑迷们,并且仙剑四是上海软星的最后之作,当上海软星关闭官网以及论坛的时候,只留下一句:"再见,若有缘".众多仙剑迷落泪,经典永远不会褪色,感动也将永 ...

  8. XML入门经典(第五版)

    2019独角兽企业重金招聘Python工程师标准>>> XML入门经典(第五版) 本书对全部内容进行了更新,涵盖了XML的最新技术,如XOuery.RSS.Atom.Aiax等.在讲 ...

  9. SQL经典语句大全及应用示例汇总

    SQL经典语句大全及应用示例汇总 无论您是一位SQL sever的新手,或是一位只是需要对SQL复习一下的资料仓储业界老将,您就来对地方了.本期专题精选了SQl语句.SQL语法.实例和教程等经典相关资 ...

最新文章

  1. 3.longest substring without repeating characters
  2. 10个顶级的CSS UI开源框架
  3. 通俗大白话来理解TCP协议的三次握手和四次分手
  4. 启明云端分享|ESP32-C3模块入门应用
  5. 泛函p121可分Hilbert空间都同构于l^2
  6. java如何记录查看记录_Java如何检查消息是否可记录?
  7. Theano 更多示例
  8. Python爬虫基础:验证码的爬取和识别详解
  9. [linux]centos6.3安装flash插件rpm方式
  10. 软件测试行业的职业素养
  11. netbeans 8 java自动提示_Netbeans 代码提示
  12. 网络信息安全工程师的职业优势分析
  13. 2019年日历假期添加
  14. 《如何正确评估自己的工作能力》--马薇薇
  15. vue生成海报(vue-canvas-poster)
  16. UVA - 11604 General Sultan 题解
  17. 永信至诚打造企业安全人才提升方案 补齐企业安全短板
  18. 【网络编程】Trojan源码 文件传输+远程cmd+键盘记录
  19. 首席新媒体运营商学院创始人黎想:裂变底层逻辑,刷屏的3个方法!
  20. 10分钟教你用Python中的Matplotlib绘制多图并合并展示

热门文章

  1. 支付宝收款软件常见问题处理
  2. mac幻灯片放映快捷键_如何使用预览快速制作Mac照片幻灯片
  3. sql日期查询 中文格式转换
  4. linux中suid和sgid作用,Linux中SUID和SGID详解
  5. java文件被进程占用_java 文件删除失败(被进程占用)
  6. r语言 html表格,R语言 | 教会你用R制作漂亮的表格 (全网最全的方法)
  7. Web前端学习日记1
  8. 新浪微博加粉丝js实现
  9. 《万国觉醒》用户分析
  10. 《数据库系统概论》6.0——关系数据理论 大学生笔记