欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > C++ ——— 仿函数

C++ ——— 仿函数

2025/1/31 12:17:22 来源:https://blog.csdn.net/weixin_55341642/article/details/145393622  浏览:    关键词:C++ ——— 仿函数

目录

何为仿函数

仿函数和模板的配合使用


何为仿函数

代码演示:

class Add
{
public:int operator()(int x, int y){return x + y;}
};

这是一个 Add 类,类里面有一个公有成员函数重载,重载的是括号

那么调用的时候:

Add add;cout << add(3, 5) << endl;

调用 Add 类中的函数重载时,就像是 add 是一个函数名,而括号中是参数,但是并不是如此

add 是一个类,第二行调用的本质是:

cout << add.operator()(3, 5) << endl;

代码验证:

类似于这种类而调用的函数重载的形式就叫做仿函数


仿函数和模板的配合使用

代码演示:

template<class T>class Add
{
public:T operator()(const T& x, const T& y){return x + y;}
};

这时的仿函数就能根据不同的变量来使用

代码验证:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com