2 つの引数を取る関数があるとします。
void f(int x, int y);
そのうちの1つをバインドしたいと思います。std::bind
次のように使用できます。
auto partiallyBoundF = std::bind(f, 10, _1);
partiallyBoundF
は引数を 1 つしか取りませんが、複数で呼び出すことができます。最初の引数を超える引数は、意味のある型である必要さえありません。
partiallyBoundF(20, 0);
partiallyBoundF(0, 44, -99, "Hello", 4.5, true, []{});
bind
から返されたオブジェクトに追加の引数を渡すことを許可する目的は何ですか? 他の場所では拒否される呼び出しエラーをコンパイルできます。