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()规避

 

posted @ 2020-04-29 19:14  Asp1rant  阅读(158)  评论(0)    收藏  举报