某些特殊场景: 函数中包含一些要赋的值 但是函数只能传入一个参数
例如使用count_if 来得到长度大于len的字符的个数
class ShorterThan {
public:
explicit ShorterThan(int maxLength) : length(maxLength) {}
bool operator() (const string& str) const {
return str.length() < length;
}
private:
const int length;
};
然后直接使用
count_if(myVector.begin(), myVector.end(), ShorterThan(length));
ShorterThan(length) 是调用构造函数创建了一个临时对象 (一个函数对象) 然后传入