
简述C++ 仿函数
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
简介:C++仿函数是一种用户自定义的类,模仿函数的行为,可以在支持函数的地方使用。通过重载操作符,实现对象像普通函数一样调用。
浅析C++ 仿函数
C++ 仿函数是一种特殊的函数对象,具有类似函数的功能,但实际上是类的对象。它可以作为参数传递给其他函数,解决了传统函数指针不能兼容不同类型的问题。
1. 使用仿函数的原因
在介绍仿函数之前,先来看一下为什么需要它。假设我们需要编写一个统计数组中大于某个数值的元素数量的程序。原始代码可能如下所示:
```cpp
int RecallFunc(int *start, int *end, bool (*pf)(int)){
int count=0;
for(int *i=start; i!=end+1; ++i)
if(pf(*i)) {
count++;
}
return count;
}
bool IsGreaterThanTen(int num){
return num>10 ? true : false;
}
int main(){
int a[5] = {10, 100, 11, 5, 19};
int result = RecallFunc(a,a+4,IsGreaterThanTen);
std::cout<
全部评论 (0)


