定义的函数对象可像函数一样调用。
//函数对象定义 template<typename T> class LessThan { const T val; //待比较的值 public: LessThan(const T& v):val{v} {} bool operator()(const T& x) const { return x<val; } //调用运算符,实现了函数调用 } LessThan t{43}; //定义函数对象 LessThan Its{"abc"s}; //字符串比较 LessThan<string> Its2{"abc"}; // "abc"为一个C风格字符串,因而要标识出类型,否则不能比较大小。 bool b = t(2); //执行函数
原文地址:https://www.cnblogs.com/share-ideas/p/11902350.html
时间: 2024-10-16 00:25:10