标准库定义了超过100个算法,想要高效的使用这些算法需要了解他们的结构而不是单纯记忆每个算法的细节,以下是算法框架的描述和理解:
1、beg和end是表示元素范围的迭代器,几乎每个算法都对应一个由beg和end表示的序列,其中beg表示开始位置,end表示结束位置;
2、beg2是表示第二个输入序列的开始位置的迭代器,end2表示第二个序列的末尾位的迭代器,如果没有end2,表示beg2开始的序列与beg和end的序列一样大,beg和beg2的类型不一定匹配,但必须保证对两个序列中的元素都可以执行特定的操作或调用给定的可调用对象;
3、dest是表示目的序列的迭代器。对于给定的输入序列,算法需要生成多少元素,目的序列必须保证能保存同样多的元素;
4、unaryPred和binaryPred是一元和二元谓词,分别接受一个和两个参数,都是来自输入序列的元素,两个谓词都返回可用于做条件的类型。
5、comp是一个二元谓词,满足关联容器中对关键字序的要求;
6、unaryOp和binaryOp是可调用对象,可分别使用来自输入序列的一个和两个实参来调用;
--摘自C++primer