stdbind

    8

    1答えて

    次のコードスニペットを参照してください。オーバーロードされた機能foobarにはstd::bindを使用します。引数のないメソッドだけを呼び出します。 auto a2 = std::bind(static_cast<void(Client::*)(int)>(&Client::foobar), cl, std::placeholders::_1); a2(5); あなたはま

    3

    1答えて

    まず、小さな背景:後で呼び出されるコールバックをバインドします。これにより、ログを通じた制御フローに従うことが難しくなります。これを助けるために、我々はシステムを通過するときに要求に従うことを可能にする「ログコンテキスト」を使用します。現在のコンテキストを静的関数log_context::get_currentでコピーし、静的関数log_context::set_currentで復元することができ

    1

    1答えて

    のは、私は右辺値参照を取って、機能を持っているとしましょう: void whatever (std::unique_ptr<int>&&) { // Nothing! } ...と私はプレースホルダにその一つのパラメータをバインドします。 auto f = std::bind(&whatever, _1); 私はこのような呼び出しを試みましたが、結果は私が期待していたものとは逆

    18

    1答えて

    は void f(int x, int y); 、私は2つの引数を取る関数があると仮定し、私はそれらのいずれかをバインドします。次のように私はstd::bindを使用することができます。 auto partiallyBoundF = std::bind(f, 10, _1); partiallyBoundFは、引数を1つしかかかりますが、私は、複数でそれを呼び出すことができます。 part

    10

    2答えて

    の使用結合する方法:AsyncOperationと AsyncOperation * pAsyncOperation = new AsyncOperation(); auto bindOperation = std::bind(&AsyncOperation::operator(), std::ref(*pAsyncOperation)); std::thread thread(bindOpe

    0

    1答えて

    を呼び出し、これは動作しません: http://ideone.com/mGfUj どちらか動作しません:私はそれがその型を控除して少しは助け考え出し http://ideone.com/mUL5Y を!なぜ私は理解していない。 どうすればよいですか? part2(std::bind(&Quux::part3<Callable>, this, 3, c)) それはないです。

    13

    3答えて

    N3225のサブセクション20.8.10.1のstd::bindの説明を読み終えませんでした。それは、次のように1を印刷しなければならないと言いますが、bindはその引数をコピーすることになっているので、0を印刷する必要があります。渡された引数を参照する場合は、std::refを使用する必要があります。 void f(int &a) { a = 1; } int main() { i