我刚刚读到有人用构造函数和谓词调用一个operator()
类:
// Example
class Foo {
public:
Foo(Bar);
bool operator()(Baz);
private:
Bar bar;
};
但是,我以前没有听说过在这种情况下使用谓词这个词。我会称这样的东西为functor。对我来说,谓词是形式逻辑领域的东西。
这提出了以下问题:
- 这是一个常见的词
Foo
吗? - 这两个术语是否可以互换使用,或者它们的含义略有不同?
- 或者
- 返回类型(
bool
相对于其他东西)是否与它有关? operator()
存在呢const
?
- 返回类型(