词条 | 函数对象 |
释义 | 调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。 一个类对象,表现出一个函数的特征,就是通过“对象名+(参数列表)”的方式使用一个 类对象,如果没有上下文,完全可以把它看作一个函数对待。这是通过重载类的 operator()来实现的。比如,对于调用 int s = sum(1, 1); 你可能把它看作一个函数调用: int sum(int i, int j) { return i+j; } 但很可能它是一个函数对象: class Sum { public: int operator()(int i, int j) { return i+j; } }; Sum sum; 而大多数情况是 template <class T> class Sum { public: T operator()(T i, T j) { return i+j; } }; Sum <int> sum; “在标准库中,函数对象被广泛地使用以获得弹性”,标准库中的很多算法都可以 使用函数对象或者函数来作为自定的回调行为 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。