Sei ceri c++ 笔记第5章(Containers(CTR))
第五章 容器
5-1 确保容器索引在范围内
1. 用std::size_t代替int
2. 用模板函数接受参数,进行参数类型转换
3. 使用std::vector时,用at代替[]索引
4. 使用迭代器注意不要超限
5-2 用容器的有效引用,指针和迭代器
书中此章含有表格,详见 P164
5-3 用stl方法对容器进行操作时的注意事项
如:用std::copy(), std::fill(), std::transform() 对vector进行操作
防止std::copy的数据长度超限错误
1. 用传递size的方法限定数组长度
2. 用std::back_insert_iterator 作为std::copy的最后一个对象
防止std::fill_n()的数据长度超限错误
1. 定义容器时就限定容器长度
5-4 使用有效的迭代器范围
1. 迭代器在使用std::for_each的情况下,从begin向end进行索引
2. 需要确保使用迭代器的地方,容器类型和范围一致
5-5 不要对不同容器的迭代器做运算
常见迭代器运算函数:
std::distance 得到迭代器之间相差元素的个数
std::less, std::greater, std::greater_equal, std::less_equal 可以用来进行迭代器的比较
传递两个不同的容器到同一个函数中时,可以在函数中将迭代器转化为同一种类型进行使用
5-6 避免使用会使容器索引超限的方法
可以用std::min()规避

浙公网安备 33010602011771号