C++Primer第5版读书笔记(第9章)

来源:互联网 发布:js for循环 编辑:程序博客网 时间:2024/06/09 20:03

第9章 顺序容器
9.1 顺序容器概述
这里写图片描述

  1. 选择容器的基本原则:
    • 除非有很好的理由选择其他容器,否则应使用vector;
    • 如果程序有很多小的元素,且空间的额外开销很重要,则不要使用list或forward_list;
    • 如果程序要求随机访问元素,应使用vector或deque;
    • 如果程序要求在容器的中间插入或删除元素,应使用list或forward_list;
    • 如果程序需要在头尾位置插入或删除元素,但不会在中间位置进行插入或删除操作,则使用deque;
    • 如果程序只有在读取输入时才需要在容器中间位置插入元素,随后需要随机访问元素,则:
      a)首先,确定是否真的需要在容器中间位置添加元素。当处理输入数据时,通常可以很容易地向vector追加数据,然后在调用标准库的sort函数来重排序,从而避免在中间位置添加元素。
      b)如果必须在中间位置插入元素,考虑在输入阶段使用list,一旦输入完成,将list中的内容拷贝到一个vector中。

9.2 容器库概览
这里写图片描述
这里写图片描述
这里写图片描述

9.2.4 容器定义和初始化
这里写图片描述

9.2.5 赋值和swap
这里写图片描述

  1. 除array外,swap不对任何元素进行拷贝、删除或插入操作,因此可以保证在常数时间内完成;

9.3 顺序容器操作
9.3.1 向顺序容器添加元素
这里写图片描述
9.3.2 访问元素
这里写图片描述
9.3.3 删除元素
这里写图片描述
9.3.4 特殊的forward_list操作
这里写图片描述
9.3.5 改变容器大小
这里写图片描述
这里写图片描述
9.5.1 构造string的其他方法
这里写图片描述
这里写图片描述
9.5.2 改变string的其他方法
这里写图片描述
这里写图片描述
9.5.3 string搜索操作
这里写图片描述
这里写图片描述
9.5.4 compare函数
这里写图片描述
9.5.5 数值转换
这里写图片描述
9.6 容器适配器
这里写图片描述
栈适配器
这里写图片描述
队列适配器
这里写图片描述
这里写图片描述

0 0