bit*_*ask 10 c++ terminology predicate functor
我只是读了一个人用一个构造函数和operator()一个谓词来调用一个类:
// Example
class Foo {
public:
Foo(Bar);
bool operator()(Baz);
private:
Bar bar;
};
Run Code Online (Sandbox Code Playgroud)
但是,我之前没有听过谓语在这种情况下被使用过.我会称这样的东西为仿函数.对我来说,谓词将来自形式逻辑领域.
这提出了以下问题:
Foo吗?bool与其他东西相比)是否与它有关?operator()存在const?AnT*_*AnT 23
Functor是一个术语,指的是()在表达式中支持运算符的实体(具有零个或多个参数),即在语法上表现为函数的东西.Functor不一定是某个类的重载对象operator ().普通函数名称也是仿函数.虽然在某些情况下你可以看到术语"仿函数"在更狭隘和排他性的意义上使用:只是类对象,而不是普通函数.
一个谓语是一个特定类型的函子的:计算结果为布尔值的函子.它不一定是booltype 的值,而是具有"boolean"语义的任何类型的值.该类型应该可以隐式转换为bool.
| 归档时间: |
|
| 查看次数: |
5675 次 |
| 最近记录: |