阅读背景:

STL基础--仿函数(函数对象)

来源:互联网 

1 首先看个仿函数的例子

class X {
   public:
   void operator()(string str) {     // 函数调用运算符,返回类型在operator之前
      cout << "Calling functor X with parameter " << str<< endl;
   }  
    operator string () const { return "X"; } //类型转换函数,返回类型在operator之后
};

int main()
{
   X foo;
   foo("Hi");    // 以参数HI调用仿函数X
}
/*
 * 仿函数的好处:
 * 1. 智能函数: 比常规函数有更多的功能,比如可以保存状态(参数化的函数)
 * 2. 有它自己的类型,不用考虑函数重名问题
 * 事实上,类带来的其他好处,封装,继承,多态都可以是仿函数的好处
 */class X {
   public:
   void ope



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: