仿函数
来源:互联网 发布:轻而易举软件培训视频 编辑:程序博客网 时间:2024/04/28 13:44
class Add
{
public:
int operator()(int a, int b)
{
return a+b;
}
};
void main()
{
Add myAdd;
printf("%d\n",myAdd(2,3)); // myAdd(2,3) 相当于myAdd.operator(2,3);
system("pause");
}
//仿函数的优点:
1,仿函数可以生成不同的实例对象,从而使使用过程的互相影响隔绝。而一般函数总是以类的形式进行:导致不同的使用过程可能相互影响。
打个比方: 统计某文件夹里的所有文件数目和大小等信息,函数的参数可能相当多,而且不一定总是用到。
如果不用仿函数你会很吐血, 因为如果采用全局变量,在你运行统计函数(一般函数)时,有第三方又调用了这个函数怎么办? 如果采用局部变量,那么参数这么多,每次调用总是要填也不是办法。
但仿函数就可以通过生成不同的对象,使不相互影响。
1,可以初始化。
2,由于有成员变量,可以实现不同时期同样调用的不同状态。
3,可以提供继承体系。
4,可以支持用户设计出模板接口。
5,仿函数通常比一般函数更快。
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 仿函数
- 现在开始学C++:请教问题一
- 模板库的基本使用( 《二》 对象管理)
- 网工
- win7护眼透明主题 “魅力win7”
- 2010年五道口考研心得
- 仿函数
- 下一个项目,你会尝试用Rails吗?
- 五道口考研之谈,困惑的人好好看看
- H.264的档次和级别
- Calling Extraterrestrial Intelligence Again
- iphone 开发中属性 property 和 synthesize 介绍
- 會不會自作多情了...
- 改革春风出满地= =#
- 缓存类设计