- generic algorithms的解释:
,具体而言iterator使得算法与容器类型无关:
,但算法的实现成功与否有时依赖于(element type)元素类型:
- 通用算法的实现依赖于
iterator,具体而言algorithm–iterator–container:
,即
- 通用算法中一些统一的模式:

cbegin和cend多用于只读的算法类型:
- 涉及写入到容器的一些算法假设写入是安全的:
,可以使用insert iterator来保证安全:
- 对容器元素进行reorder的算法有:

- 涉及元素间比较的算法可以自定义比较函数:

predicate就是一个可以被调用同时返回值作为条件的表达式:
lambda:A lambda expression represents a callable unit of code.
,如果未指定返回类型时:
- lambda表达式的形参禁止
default arguments:
lambda的主要作用是魔改predicate:
,它的function body可以直接使用静态变量和其所在定义函数外的变量:
- class和lambda:

- lambda中捕获的变量与参数列表的变量不同:
,前者像在做初始化,后者像在赋值。此外捕获的变量也可以是引用传递:
- 保持lambda简洁:

mutable lambdas的理解是:
- 代替lambda表达式的bind函数(
function adaptor):
,bind的实例:
- 神秘的
ref:
- 不再多言,很优雅的
iterator头文件:
- 继
container adaptor,function adaptor,新的iterator adaptor:
,还有花里胡哨的iostream Iterators:
,直接开装:
,以及reverse Iterators:
。 - 迭代器分类:
,简单而言:
- 该死的算法参数模式:

- 通用版本和容器定制版本的算法使用:




















