《C++ primer(第四版)》读书笔记8-第9章 顺序容器
2012-05-29 21:25
218 查看
容器,顺序容器
表示迭代器范围的beg,end,其范围是左闭合区间。end不是指向元素范围的最后一个元素,而是指向最后一个元素的下一位置。
如果两个迭代器相等,则迭代器范围为空
如果vector为空,begin返回的迭代器与end返回的迭代器相同
访问容器的方式:下标,迭代器
所有标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。由于通用性,一般都使用迭代器访问容器,即便对支持下标操作的vector类型也是这样。
各种运行时未定义行为
如果容器为空,迭代器解引用begin()和end()结果未定义。同样,即便容器不为空,解引用end()结果也未定义
由于end操作返回的迭代器不指向任何元素,因此不能对它进行解引用或自增操作
vector下标访问越界
迭代器为所有标准库容器类型所提供的运算
vector和deque容器的迭代器提供额外的运算:算术运算,关系操作符
list提供的是双向迭代器(Bidirectional iterators)。不提供额外运算,因为它的迭代器是用struct实现的。list不像vector一样以普通指针作为迭代器,因为其结点不保证在存储空间中连续存在
vector容量不会缩减
vector不支持push_front操作,因此不能使用front_inserter
todo:
iterator
end自增会出错,为什么?
<<c++标准程序库>>p153
安插元素和删除元素,都会使“作用点”之后的各元素的references、pointers、iterators失效。如果安插操作甚至引发内存重新分配,那么该容器身上的所有references、pointers、iterators都会失效
表示迭代器范围的beg,end,其范围是左闭合区间。end不是指向元素范围的最后一个元素,而是指向最后一个元素的下一位置。
如果两个迭代器相等,则迭代器范围为空
如果vector为空,begin返回的迭代器与end返回的迭代器相同
访问容器的方式:下标,迭代器
所有标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。由于通用性,一般都使用迭代器访问容器,即便对支持下标操作的vector类型也是这样。
各种运行时未定义行为
如果容器为空,迭代器解引用begin()和end()结果未定义。同样,即便容器不为空,解引用end()结果也未定义
由于end操作返回的迭代器不指向任何元素,因此不能对它进行解引用或自增操作
vector下标访问越界
迭代器为所有标准库容器类型所提供的运算
vector和deque容器的迭代器提供额外的运算:算术运算,关系操作符
list提供的是双向迭代器(Bidirectional iterators)。不提供额外运算,因为它的迭代器是用struct实现的。list不像vector一样以普通指针作为迭代器,因为其结点不保证在存储空间中连续存在
vector容量不会缩减
vector不支持push_front操作,因此不能使用front_inserter
todo:
iterator
end自增会出错,为什么?
<<c++标准程序库>>p153
安插元素和删除元素,都会使“作用点”之后的各元素的references、pointers、iterators失效。如果安插操作甚至引发内存重新分配,那么该容器身上的所有references、pointers、iterators都会失效
相关文章推荐
- C++ Primer 读书笔记: 第9章 顺序容器
- 《C++ Primer 4th》读书笔记 第9章-顺序容器
- C++ primer 读书笔记系列——(6)顺序容器(三)之再谈string类型和容器适配器
- 《C++ Primer 4 Answer Book》 整理[8]——第9章 顺序容器
- 《C++ primer》第9章 顺序容器
- C++ primer 读书笔记系列——(6)顺序容器
- 【C++ Primer】第9章 顺序容器
- 《C++ Primer》读书笔记第九章-2-顺序容器操作 And vector增长问题
- C++ primer第二次阅读学习笔记(第9章: 顺序容器)
- 读书笔记《C++ Primer》第五版——第九章 顺序容器
- C++ Primer 第9章 顺序容器 第一次学习笔记
- c++ primer 第9章 顺序容器
- C++ Primer 读书笔记 Chapter 9 顺序容器
- 《C++ Primer》读书笔记-第九章 03 顺序容器操作
- 《C++ Primer》学习笔记 第9章:顺序容器
- 《C++ Primer》第9章:顺序容器
- 读书笔记:C++ primer 5th edition--chapter9.顺序容器
- C++ primer | 第9章 顺序容器
- 《c++ primer》 第9章 顺序容器 学习笔记
- C++ primer 读书笔记系列——(6)顺序容器(二)