function object 有什么用处?

zpk1234 2007-08-12 08:59:35
比如下面这个类中
class LessThan
{
public:
LessThan(int val):_val(val){} ;
int get_val(){ return _val ; } ;
void set_val(int val){ _val = val ; } ;
bool operator()( int value ) const ; //function Object
private:
int _val ;
} ;

inline bool LessThan::operator()(int value) const
{
return value < _val ;
}


该怎么使用这个函数对象?

...全文
163 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sbgeqh 2007-08-12
  • 打赏
  • 举报
回复
1楼的正确.你这个是对()的重载.
sbgeqh 2007-08-12
  • 打赏
  • 举报
回复
mark,studying
zhengwei1984222 2007-08-12
  • 打赏
  • 举报
回复
function object 内联比callback函数效率高
kundy 2007-08-12
  • 打赏
  • 举报
回复
function object就是对function call的重载,一般写成inline形式,执行效率高。
我啃 2007-08-12
  • 打赏
  • 举报
回复
可以完美衔接范性
zpk1234 2007-08-12
  • 打赏
  • 举报
回复
跟函数指针好象差不多啊?
expter 2007-08-12
  • 打赏
  • 举报
回复
你重载的操作符,怎么定义怎么用
believefym 2007-08-12
  • 打赏
  • 举报
回复
class LessThan
{
public:
LessThan(int val):_val(val){}
int get_val(){ return _val ; }
void set_val(int val){ _val = val ; }
bool operator()( int value ) const ; //function Object
private:
int _val ;
} ;

inline bool LessThan::operator()(int value) const
{
return value < _val ;
}

int main()
{
LessThan lt(3);
if(lt(2))//如果2比lt小
cout<<"2 less than lt"<<endl;
return 0;
}

64,661

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧