谓词是一个可以调用的表达式,算法中的元素调用运行这个表达式可以返回一个结果作为判决条件。可调用表达式有四种:函数,函数指针,lamabda表达式,重载了函数调用运算符的类。
谓词有一元谓词(表达式接受一个参数)二元谓词(表达式接受两个参数)
算法(begin(),end(),f1);
f1(parameter1){ function body } //f1是一个一元谓词
f1(parameter1,parameter2){function body}//f1是一个二元谓词
上式中begin(),end()
表示输入序列的范围,对范围中的每个元素调用谓词f1(即f1表达式),元素类型必须能转换成谓词表达式中的参数类型。
对于使用多元谓词(多个参数)的情形,我们可以用lambda表达式来充当谓词。