不用STL的functor还有其他优雅的回调函数实现方式吗?

vanxining 2010-12-28 04:55:07
我们经常都需要使用回调函数,一般都是直接使用函数指针。或者使用STL的<function>,但在某些地方,如Symbian C++,是不一定支持STL的,即使支持,也缺少这些高级库。

函数指针是非常笨拙的,我需要一个像functor一样优雅的封装(可以使用非静态成员函数最好),请问各位有什么好的推荐???

谢谢了~~
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vanxining 2010-12-28
  • 打赏
  • 举报
回复
恩,这个也不错:

http://www.cppblog.com/tonykee/archive/2008/09/29/63034.html
ryfdizuo 2010-12-28
  • 打赏
  • 举报
回复
1楼使用union是可行的。
bluesky12312388 2010-12-28
  • 打赏
  • 举报
回复
按内存方式强制类型转换,如将type (CLS::*pf)(type par)强制转换为void *: void *p = GetCast<void *>(pf);

template<class DEST, class SRC>

DEST GetCast(const SRC& src)

{

union

{

SRC src;

DEST dest;

}myunion = {src};



return myunion.dest;

}

64,680

社区成员

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

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