使用boost :: bind实现no-op仿函数

时间:2011-10-24 11:00:38

标签: c++ boost-bind boost-function

我有一个函数void get(boost::function<void(void)> callback) { callback(); }。 我希望在不实现任何其他函数,变量或结构的情况下进行get(boost::bind(/* don't know what to put here*/));之类的调用,以便回调不执行任何操作。 是否可以在 C ++ 03

中实现这种“无操作”回调

boost::bind()的使用是首选,但不是必需的 - 可能是,还有一些其他技巧可以实现我的目标。

1 个答案:

答案 0 :(得分:4)

可以使用像boost::bind(std::plus<int>(), 0, 0)这样的东西,它应该被优化为零。

如果放宽限制并定义了无操作仿函数,它会使代码更加清晰。