std-function

    6

    1答えて

    std :: asyncを使用してstd :: bindで作成された関数オブジェクトを呼び出すことは可能ですか? #include <iostream> #include <future> #include <functional> using namespace std; class Adder { public: int add(int x, int y) {

    6

    1答えて

    クロージャと組み合わせて使用​​すると、std :: functionのフードの下で何が起きているのか把握しようとしています。私はそれの周りに私の頭をラップすることはできません、例えば:どのコンストラクタが呼び出されている? 誰かが、次の例で必要な機能をサポートするstd :: functionの代わりに、最小限のドロップの実例を投稿できますか?ここで #include <functional>

    9

    3答えて

    インターネット上のいくつかの情報源(具体的にはthis one)は、std :: functionが小さなクロージャの最適化を使用していると言っています。閉鎖サイズは、データのいくつかの量よりも低い場合には、だから私は は、このような最適化が適用されているかどうかのように見える++ヘッダグラムを掘り行ってきましたが決定される(上記のリンクは、gccのための16のバイトを示す) をヒープを割り当てま

    6

    2答えて

    : http://en.cppreference.com/w/cpp/utility/functional/function operator boolが記載されている: "保存された呼び出し可能オブジェクトが有効であるかどうかをチェックします"。 おそらくデフォルトの構成std::functionは無効ですが、これは唯一のケースですか? また、どのように有効かどうかを確認しますか? operat

    11

    1答えて

    理由: R operator()(ArgTypes...) const; なく R operator()(ArgTypes&&...) const; ? 正しく転送するには、& &が必要です。次に、転送時に機能本体にstd::forward<ArgTypes>...を使用しますか? 私は部分的にこれをテストするためのstd ::機能を再実装し、私は& &を使用している場合、私が得ることが分

    12

    1答えて

    私はstd::functionに格納された可変数のパラメータを持つメンバ関数を持っています。インスタンスをバインドして独立した関数オブジェクトを取得します。引数の固定数のために template <class T, class R, class... Args> void connect(const T& t, std::function<R(const T&, Args...)> f) {

    7

    1答えて

    std::function<>の代わりにC++ 11を使用できない場合は、どのような構造を代用する必要がありますか? 代わりに、以下の例のようにあるクラスのプライベートメンバー関数にアクセスすることを基本的に許可する必要があります(std :: functionの他の機能は使用されません)。クラスFooは固定されており、多く変更することはできません。クラスBarにしかアクセスできません。 clas

    6

    3答えて

    私はマネージSystem.ActionをC++/CLIプロジェクト内のアンマネージstd ::関数に変換しています。コールバックを使用した後に、指定したIntPtrをリリースする必要がありますか、それとも不要ですか? void MyClass::Execute(System::Action^ callback) { IntPtr callbackPtr = Marshal::Ge

    5

    1答えて

    std::functionはメンバ関数を保持できるので、オブジェクトインスタンスへのポインタをどこかに格納する必要があります。 メンバ関数を保持するstd::functionからthisポインタを取得するにはどうすればよいですか?

    18

    2答えて

    次のプログラムをキャプチャされていません。 #include <iostream> #include <vector> #include <functional> #include <algorithm> #include <cstdlib> #include <cmath> void asort(std::vector<double>& v, std::function<bool(