問題タブ [pointer-to-member]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
26098 参照

c++ - C++のPointer-to-Member->*および。*演算子とは何ですか?

はい、私はこの質問このFAQを見ましたが、C++で何を意味するのかまだ理解していません。 これらのページは、演算子(オーバーロードなど)に関する情報を提供しますが、それら何であるかを十分に説明していないようです。->*.*

->*C ++とは何ですか?また、およびと比較して、いつ.*それらを使用する必要がありますか?->.

0 投票する
5 に答える
3529 参照

c++ - CrazyC++テンプレート-クラスの個々の属性にアクセスするためのテンプレート

私は初心者のC++プログラマーですが、仕事でこのようなコードに出くわし、実際にどのように機能するかを理解できなかった今日まで、C++について十分に知っていると思いました。

ある程度理解できたと思います。しかし、テンプレート宣言のこの特定PropType PropObject::* Propは私を悩ませます。どういう意味ですか?C++の専門家からの説明を探しています。私はそれを理解したいので、私はそれをよりよく使うことができます。しかし、それは非常に便利に見えます。

0 投票する
5 に答える
151 参照

c++ - 構造体内からPointer-to-Member-Functionが指す関数を呼び出す

Test独特のデータ構造を持つクラスがあります。クラスのメンバーTestはastd::mapであり、キーはastd::stringであり、マップされた値はstruct次のように定義されます。

マップの初期化はOKです。問題は、指定された関数を呼び出そうとしているときです。問題を再現したおもちゃの例を作りました。ここにあります:

よろしくお願いします、ジル

0 投票する
1 に答える
306 参照

c++ - Ptr-to-member テンプレート パラメーターのフレンド構文

さて、これは純粋な C++ の厄介な構文の質問だと思います。

テンプレート パラメーターの 1 つとして、ptr-to-member を使用して定義されたクラスがあります。

このクラスの友達である別の単純なクラスがあります。通常、私は次のように書きます。

...しかし、2 番目のテンプレート パラメータはそれほど自由ではないため、友情をどのように表現すればよいでしょうか?

ありがとう!

0 投票する
5 に答える
463 参照

c++ - ポインターからメンバーへの親の回復

クラスのフィールドを指しているクラスメンバーへのポインターがあるとします。クラスの特定のインスタンスの特定のフィールドへのポインタもあります。たとえば、次のようなものがあります。

使用ptrmemPtrて回復する方法はありmyAますか?つまり、 への明示的なポインターがまだない場合、 と からポインターをmyA作成できますか?ptrmemPtr

0 投票する
3 に答える
557 参照

c++ - メンバー変数へのポリモーフィックポインター

ポリモーフィックな方法でメンバー変数へのポインターを使用しようとしています。

これは機能します:

メンバーは同じタイプ(BaseClass)ではないため、これは行われません。

g++によって報告されるエラーは次のとおりです。

これを機能させる方法、つまり、メンバーポインタをその基本クラスに「アップキャスト」する方法はありますか?

0 投票する
2 に答える
24197 参照

c++ - 括弧で囲まれたメンバー関数のアドレスのエラー

面白いものを見つけました。エラーメッセージはそれをすべて言います。非静的メンバー関数のアドレスを取得するときに括弧を許可しない理由は何ですか? gcc 4.3.4でコンパイルしました。

エラー: main.cpp:14: エラー: ISO C++ では、メンバー関数へのポインターを形成するために、非修飾または括弧付きの非静的メンバー関数のアドレスを取得することを禁止しています。「&myfoo::foo」と言います

0 投票する
2 に答える
2015 参照

c++ - メンバー関数ポインターの奇妙な C++ ルール?

重複の可能性:
括弧で囲まれたメンバー関数のアドレスのエラー

この最近の質問では、メンバー関数名が括弧で囲まれている場合、OP はメンバー関数のアドレスを取得することを違法にする C++ 言語の奇妙な規定に遭遇しました。たとえば、次のコードは違法です。

これを調べたところ、C++ ISO 仕様の §5.3.1/3 が原因であることがわかりました。

メンバーへのポインターは、明示的な & が使用され、そのオペランドが括弧で囲まれていない修飾 ID である場合にのみ形成されます [...]

仕様にこのルールがある理由を知っている人はいますか? メンバーへのポインタに固有のものであるため、これで解決される文法上のあいまいさがあると思われますが、正直なところ、それが何であるかはまったくわかりません。

0 投票する
3 に答える
999 参照

c - cのメンバー名を使用せずに構造体メンバーに値を割り当てますか?

私には構造があり、私がやりたいのは、forループを使用してそのメンバーに値を割り当てることです。そうすれば、メンバー名を使用する必要がなくなります。構造が長くて20本くらいは欲しくないp_struct->member_nameので。これまでのところは下にありますが、正しい方向に進んでいるかわかりません。
ヘッダーファイル:

.cファイル内..。

0 投票する
2 に答える
1089 参照

c++ - Convert vector to map with pointers to members?

I'm having trouble understanding why the code below

gives this error:

Context does not allow for disambiguation of overloaded function

How do I fix this?