概念:
重载函数调用 *** 作符的类, 其对象被称为函数对象;函数对象使用重载的()时,行为类似函数调用,也叫仿函数;本质:函数对象是一个类,不是一个函数;
函数对象使用:
- 函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值
- 函数对象超出普通函数的概念,函数对象可以有自己的状态
- 函数对象可以作为参数传递
#include<iostream>using namespace std;#include <string>class MyAdd{public: int operator()(int v1,int v2) { return v1 + v2; }};// 1、函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值voID test01(){ MyAdd myAdd; cout << myAdd(10,10) <<endl;}2、函数对象超出普通函数的概念,函数对象可以有自己的状态 MyPrint{: MyPrint() { this->count = 0; } voID string test) const { cout << test << endl; this->count++; } int count; 内部自己状态}; test02(){ MyPrint myPrint; myPrint("hello world"); myPrint(); cout << myPrint调用次数为: " << myPrint.count << endl;}3、函数对象可以作为参数传递voID doPrint(MyPrint & mp,1)"> test){ mp(test);} test03(){ MyPrint myPrint; doPrint(myPrint,Hello c++);} main() { test01(); test02(); test03(); system(pause); return ;}总结
以上是内存溢出为你收集整理的c++STL之函数对象(仿函数)全部内容,希望文章能够帮你解决c++STL之函数对象(仿函数)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)