什么是C ++仿函数及其用途?我一直在听C ++中的仿函数。有人可以给我一个关于它们是什么的概述以及在什么情况下它们会有用吗?
3 回答
倚天杖
TA贡献1828条经验 获得超3个赞
Functor是一个像函数一样运作的对象。基本上,一个定义的类operator()
。
class MyFunctor{ public: int operator()(int x) { return x * 2;}}MyFunctor doubler;int x = doubler(5);
真正的优点是仿函数可以保持状态。
class Matcher{ int target; public: Matcher(int m) : target(m) {} bool operator()(int x) { return x == target;}}Matcher Is5(5);if (Is5(n)) // same as if (n == 5){ ....}
- 3 回答
- 0 关注
- 2367 浏览
添加回答
举报
0/150
提交
取消