1

関数がありますvoid get(boost::function<void(void)> callback) { callback(); }get(boost::bind(/* don't know what to put here*/));コールバックが何もしないように、他の関数、変数、または構造体を実装せずにのように呼び出しを行いたい。このような「no-op」コールバックをC++03で実装することは可能ですか?

の使用boost::bind()が推奨されますが、必須ではありません-おそらく、私の目標を達成するための他のトリックがいくつかあります。

4

1 に答える 1

4

のようなものを使用できますがboost::bind(std::plus<int>(), 0, 0)、これは何も最適化されないようにする必要があります。

制限を緩和し、代わりに no-op ファンクターを定義すると、コードがより明確になります。

于 2011-10-24T11:18:12.900 に答える