member-function-pointers

    3

    1答えて

    引数を開いたままメンバ関数をオブジェクトにバインドしようとしています。私はラムダ式(例えばthis)でラップすることでそれを行うことができますが、私はstd :: bindとstd :: placeholdersを使ってそれをやりたい これまでのところ、これは私が持っているものです:>私はSTDを呼び出すときにplace_holdersのタプルを作成 template <size_t _Num>

    2

    1答えて

    シグネチャは同一ですが、異なるクラスの非スタティックメンバ関数の参照を、一致するシグネチャを持つファンクションポインタに割り当てるにはどうすればよいですか? これは、C++標準ライブラリのstd::functionの助けを借りて行うことができます。私はまた、通常のCの関数とstdライブラリからの助けを借りてこれをいつも行います。私はファームウェアを書いており、コードスペースは限られています。 C+

    -2

    1答えて

    は、誰もが次のテンプレートの特殊化のための一般的なテンプレートフォームを宣言する方法を知っているです: template <template <class> class Container, class Value, class Return, Return (Container<Value>::*Apply)(const Value &)> class

    1

    2答えて

    私のクラスには3つの状態があります。各状態では、何らかの仕事をして、他の州に行くか、または同じ州に留まります(95%以上のケースでは、同じ州にとどまります)。私は状態パターンを実装することができます(私はあなたがそれを知っていると仮定します)。 私は、状態毎のメンバ関数と、現在の状態関数を指すメンバ関数へのポインタも持っています。私が別の状態に行きたい状態になったら、その関数ポインタを別の状態関数

    0

    1答えて

    ここに問題があります:Factoryというクラスには、同じシグネチャのいくつかの非静的メンバー関数があります。f1、f2などと呼ばせてください。私はstd::vectorのメンバー関数へのポインタをstatic constとしたいのですが、実行時にこれを変更する必要はありません。同様に、優雅さの理由から、私はf1と他のもの(以下では概括的にfi)を公開するのではなく、vectorでも公開しませんが

    0

    1答えて

    私はCOMオブジェクトへのポインタを持っています。pfooはIFooを実装しています。 IFooのメソッドの1つであるpfoo-> Bar()のアドレスを取得したいと思います。 COMオブジェクトは非常によく文書化されているので、これは非常に簡単です。そして、実際にはそうです。バーは、()、たとえば、インタフェースの第五の方法(IUnknownメソッドのためのコースの会計処理)である場合、アドレス

    0

    2答えて

    私のプロジェクトでは、私はクラスの階層を持っています。タイプC_tのオブジェクトは、A_tオブジェクトとB_tオブジェクトの(動的に割り当てられた)配列を含みます。 メソッドa_fn()をB_tのメソッドb_fn()から呼び出したいとします。私はいくつかのやり方で間接指示を行うことができます。 Bは、そのオブジェクトを含むポインタCを保持します。次に、私はこのポインタを使って直接A[]とそのメソッ

    -1

    2答えて

    Aというクラスがあり、メソッドがvoid foo()であるとします。 &A::fooを使ってfoo()へのポインタを得ることができますが、このポインタはインスタンス化されたオブジェクトではなく、クラスの型に依存しているようです。 Aという2つのオブジェクトa1とa2がある場合、foo()メソッドがa1の場合とa2の場合の違いを、ポインタ、メンバー関数ポインタ、またはポインタアドレスを使用してどのよ

    9

    1答えて

    reinterpret_castを使用して、同じクラスの別のポインタへのメンバ関数にメンバ関数へのポインタをキャストすることは合理的ですか?次の例は動作します。しかしそれは合法ですか? [expr.reinterpret.cast] C++ドラフト状態で #include<iostream> #include<vector> #include<string> class A {

    0

    1答えて

    私は、派生クラスを作成し、そこからメソッドポインタを基底クラスに渡すので、基底クラスで宣言された関数がそれを呼び出すことができません(インターフェイスを介して派生クラスの関数を呼び出します)。 目的は、独自のリソースと関数を持たせるために派生クラスを作成することですが、そこで宣言されている関数の呼び出しは、基本クラスが提供する関数でそれらの関数の1つを呼び出すことで可能になります。これのために、基