1

我有一个功能void get(boost::function<void(void)> callback) { callback(); }。我想在get(boost::bind(/* don't know what to put here*/));不实现任何其他函数、变量或结构的情况下进行调用,以便回调什么都不做。是否可以在C++03中实现这样的“无操作”回调?

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

4

1 回答 1

4

可以使用类似的东西boost::bind(std::plus<int>(), 0, 0),它应该被优化到什么都没有。

如果您放宽限制并改为定义无操作函子,它将使代码更加清晰。

于 2011-10-24T11:18:12.900 回答