【发布时间】:2011-10-24 11:00:38
【问题描述】:
我有一个函数void get(boost::function<void(void)> callback) { callback(); }。
我想在不实现任何其他函数、变量或结构的情况下进行类似get(boost::bind(/* don't know what to put here*/)); 的调用,因此回调什么也不做。
是否可以在 C++03 中实现这样的“无操作”回调?
boost::bind() 的使用是首选但不是必需的 - 可能是,还有一些其他技巧可以实现我的目标。
【问题讨论】:
-
为什么不直接使用无操作函数,即
void noop() {}? -
@JoachimPileborg,因为这意味着实现一个功能,OP 明确希望避免这种功能。
-
... 或在酷炫的 C++11 中:
[](){} -
@avakar:Joachim 质疑不实现简单 noop 函数的理由。
-
@avakar:“为什么不呢?”仍然是一个好问题。如果 OP 有一个奇怪的限制,那么他可能还有其他限制,因此了解限制来自哪里会有所帮助。
标签: c++ boost-bind boost-function