5

これに対する答えはノーだと思いますが、私は確信したいだけです。

std::function関数のパラメーターとしてaを使用している場合、aの受け渡しに問題はありboost::bindますか?その逆もありますか?

編集:

boost :: bind.hを含めると、boost :: bindによって使用されるプレースホルダーが名前空間に直接インポートされ、std::bindと互換性がないことがわかりました。std :: bindの場合は、次のように明示的にプレースホルダーを参照する必要があります:std :: placeholders :: _ 1または、他のtypedefを実行するか、魔法を使用して両方を同時に使用できるようにします。

4

1 に答える 1

10

std::いいえ。 (およびboost::)の全体的な目的は、ラムダ、ファンクター、およびあらゆる種類のバインディングの結果を含む、正しいシグネチャで呼び出すことができる任意のfunction関数オブジェクトを受け入れることができることです。彼らはあなたの関数オブジェクトがどこから来たのか、それがどんなタイプであるのかを気にしません。

それらを互いにバインドすることもできますが、なぜそうしたいのかはよくわかりません。

于 2012-09-02T11:49:38.897 に答える