首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与functor相关的术语

与functor相关的术语
EN

Stack Overflow用户
提问于 2016-07-03 02:07:17
回答 0查看 38关注 0票数 1

让我们来看一个简单的functor

代码语言:javascript
复制
class LessThan {
public:
    explicit LessThan (int in ) : val(in) {}
    bool operator() (int param) const {
        return param < val;
    }
private:
    int val;
};

例如,我可以像这样使用-

代码语言:javascript
复制
vector<int> myVector = factory();
size_t count = count_if(begin(myVector), end(myVector), LessThan(10));

我对围绕函数器的术语的理解是,类LessThan是一个函数器。即它是一个类型,而不是一个对象。即它是抽象的,而不是具体的。

那么,我们怎么称呼LessThan(10)呢?这里,我们通过实例化LessThan函数器类型来创建一个对象。那么,我们称它为functor对象吗?但是,函数器是函数对象。因此,LessThan(10)是一个函数对象对象??

这不是很荒谬吗?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38163086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档