函数对象(仿函数)

Posted xiaozhihong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数对象(仿函数)相关的知识,希望对你有一定的参考价值。

参考博客:https://www.cnblogs.com/decade-dnbc66/p/5347088.html

1、重载 ( )

技术分享图片

2、仿函数

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

仿函数(functor)又称为函数对象(function object)。因为可以把构造产生的临时对象传递给左值或者函数的形参。

例子:使用count_if 统计字符数小于4的字符串的个数

方法1:

count_if 的第三个参数是函数指针,该函数指针指向的函数要求返回一个bool类型的值

技术分享图片

方法2:使用仿函数

技术分享图片

Demo(4) 作为仿函数,构造了一个临时对象。

相比方法1,方法2能够任意统计字符个数的字符串。

以上是关于函数对象(仿函数)的主要内容,如果未能解决你的问题,请参考以下文章

函数对象(仿函数 functor)

STL简单函数对象(仿函数)的实现

STL基础--仿函数(函数对象)

C++ STL 基础及应用 函数对象(仿函数)

STL——容器(Set & multiset)之 仿函数(函数对象)functor 的用法

STL——容器(Set & multiset)之 仿函数(函数对象)functor 的用法