函数对象——C++11(十三)

时间:2019-11-21 09:55:07   收藏:0   阅读:52

定义的函数对象可像函数一样调用。

//函数对象定义
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); //执行函数

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!