首页 > 编程知识 正文

c语言函数调用方式,构造函数的调用方式

时间:2023-05-05 04:46:49 阅读:191474 作者:2132

仿函数的主要功能是为了搭配STL算法使用,单独使用仿函数的情况比较少。
仿函数(functors)在C++标准中采用的名称是函数对象(function objects)。仿函数主要用于STL中的算法中,虽然函数指针虽然也可以作为算法的参数,但是函数指针不能满足STL对抽象性的要求,也不能满足软件积木的要求–函数指针无法和STL其他组件搭配,产生更灵活变化。仿函数本质就是类重载了一个operator(),创建一个行为类似函数的对象。

对于重载了()操作符的类,可以实现类似函数调用的过程,所以叫做仿函数,实际上仿函数对象仅仅占用1字节,因为内部没有数据成员,仅仅是一个重载的方法而已。实际上可以通过传递函数指针实现类似的功能,但是为了和STL内部配合使用,他提供了仿函数的特性。

调用方式见代码:

struct MyPlus{ int operator()(const int &a , const int &b) const{ return a + b; }};int main(){ MyPlus a; cout << MyPlus()(1,2) << endl;//1、通过产生临时对象调用重载运算符 cout << a.operator()(1,2) << endl;//2、通过对象显示调用重载运算符 cout << a(1,2) << endl;//3、通过对象类似函数调用 隐示地调用重载运算符 return 0;}

运行结果:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。