[C/C++] 第11章 泛型算法 Primer

《C++ Primer》 第11章 泛型算法
第11章:泛型算法  ——标准库提供一组不依赖特定的容器类型的算法作用在不同类型的容器和不同类型的元素上。
@学习摘录113:算法重要性质
第二节:初窥算法
—— #include <algorithm>   // 使用泛型算法
—— #include <numeric>    // 泛化的算术算法(generalized numeric algorithm)
@学习摘录114:迭代器实参类型
——大多数算法(前两个参数指定范围):
——通常:泛型算法都是在标记容器(或其他序列)内的元素范围的迭代器上操作的。
——标记范围的两个实参类型必须精确匹配,而迭代器本身必须标记一个范围:
——它们必须指向同一个容器中的元素(或者超出容器末端的下一位置),
——并且如果两者不相等,则第一个迭代器通过不断地自增,必须可以到达第二个迭代器。
——有些算法(带有两对迭代器参数)
——每对迭代器中,两个实参的类型必须精确匹配,但不要求两对之间的类型匹配。
——当元素存储在不同类型的序列中时,只要这两个序列中的元素可以比较即可。
第三节:再谈迭代器
——C++语言还提供了另外三种迭代器==  
@学习摘录115:三种容器的简单介绍
——插入迭代器(insert iterator):这类迭代器与容器绑定在一起,实现在容器中插入元素的功能。
——iostream迭代器(iostream iterator):这类迭代器可与输入或输出流绑定在一起,用于迭代遍历所关联的IO流。
——反向迭代器(reverse iterator):这类迭代器实现向后遍历,而不是向前遍历。
@学习摘录116:三种插入迭代器
——这里有三种插入器,其差别在于插入元素的位置不同:
——1. back_inserter, 创建使用push_back实现插入迭代器
——2. front_inserter, 使用push_front实现插入。
——3. insert, 使用insert实现插入操作。
原文地址:https://www.cnblogs.com/robbychan/p/3787035.html