美文网首页程序员
C++仿函数(functor)

C++仿函数(functor)

作者: VAYY | 来源:发表于2017-03-17 11:13 被阅读0次

仿函数functor,就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operator,这个类就有了类似函数的行为,就是一个仿函数类了。

在我们写代码时有时会发现有些功能的实现的代码,会不断的在不同的成员函数中用到,但是又不好将这些代码独立出来成为一个类的一个成员函数。但是又很想复用这些代码。写一个公共的函数,可以这是一个解决方法,不过函数用到的一些变量,就可能成为公共的全局变量,再说为了复用这么一片代码,就要单立出一个函数,也不是很好维护。这时就可以用仿函数了,写一个简单类,除了那些维护一个类的成员函数外,就只是实现一个operator,在类实例化时,就将要用的,非参数的元素传入类中。这样就免去了对一些公共变量的全局化的维护了。又可以使那些代码独立出来,以便下次复用。而且这些仿函数,还可以用关联,聚合,依赖的类之间的关系,与用到他们的类组合在一起,这样有利于资源的管理(这点可能是它相对于函数最显著的优点了)。


相关文章

  • C++仿函数(functor)

    仿函数functor,就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operator,这个类就有了类似...

  • 仿函数——Functor

    简单的需求 比如,有一个简单需求:找到一个vector 中,长度小于3的字符串的数目。解决方法可能会是: 其实,数...

  • Functor --- 仿函数

    仿函数(functors)在C++标准中采用的名称是函数对象(function objects),实际上就是函数对...

  • 从bind2nd函数看懂C++ STL的适配器与仿函数

      适配器adapter与仿函数functor是C++ 标准库中提供的部件,可以将STL提供的一些基本算法(比如s...

  • STL ----仿函数

    C++STL学习(9)仿函数(function objects, functor) - CSDN博客 List ,...

  • 仿函数/函数对象 functor / function obje

    1 仿函数 对某个 class 重载 函数调用操作符 operator(), 它就成为 Functor 可 像 f...

  • C++ 仿函数

    仿函数 定义:仿函数(functor),就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator...

  • functor相等性判断

    侯杰将cpp中的functor翻译成仿函数,它其实是个class或者struct,通过匿名调用operator()...

  • C++使用Expression Templates

    StackOverflow的问答Passing a functor as C++ template paramet...

  • C++入门11 -- 仿函数,函数模版,类模版

    仿函数(函数对象) 仿函数:将一个对象当作一个函数来使用; 模版 泛型:将类型参数化以达到代码复用的技术,C++中...

网友评论

    本文标题:C++仿函数(functor)

    本文链接:https://www.haomeiwen.com/subject/irfenttx.html