【C++ Primer 学习笔记】chapter 11 泛型算法

chapter 11 泛型算法

1. 使用泛型算法必须包含algorithm头文件;
2. 标准库还定义了一组泛化的算术算法,其命名习惯与泛型算法相同,使用这些算法必须包含numeric

头文件;
3. 使用插入迭代器back_inserter的程序必须包含iterator头文件;
4. 通常,如果要以一个已存在的容器为副本创建新容器,更好的方法是直接用输入范围作为性构造容器

的初始化式;
5. 算法不直接修改容器的大小,如果需要添加和删除元素,则必须使用容器操作;
6. 谓词是做某些检测的函数,返回用于条件判断的类型,指出条件是否成立;
7. 流迭代器值定义了最基本的迭代器操作:自增、解引用和赋值。此外,可比较两个istream迭代器是

否相等;而ostream迭代器则不通过比较运算;
8. 流迭代器不能创建反向迭代器;
9. 需要低级类别迭代器的地方,可以使用任意一种更高级的迭代器;
10. 三种插入迭代器的区别:
1)back_inserter,使用push_back实现在容器末端插入。
2)front_inserter,使用push_front实现在容器的前端插入。
3)inserter,使用insert实现在容器中指定位置插入。
   因此,除了所关联的容器外,inserter还带有第二个实参--指向插入起始位置的迭代器。
11.列出五种迭代器及其各自支持的操作:
  迭代器种类  支持的操作
  输入迭代器  == != ++ *(只用于读元素,出现在赋值操作符右边) ->
  输出迭代器  ++ *(只用于写元素,出现在赋值操作符左边)
  前向迭代器  == != ++ * ->
  双向迭代器  == != ++ * -> --
随机访问迭代器  == != ++ * -> -- < <= > >= + +=
   -(迭代器 整型值n)  -=  []
Notice:
fflush(stdin);
cin.clear();


 

你可能感兴趣的:(【C++ Primer 学习笔记】chapter 11 泛型算法)