問題タブ [data-member-pointers]

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 投票する
1 に答える
113 参照

c++ - データ メンバーへのポインターの可変長リスト

この作業コードを検討してください。この関数searchByDataMemberは、データ メンバーへのポインターを引数として使用して、コンテナー内の値を検索します。

では、それ自体を指しているデータ メンバーが検索するデータ メンバーを持っている場合に、データ メンバーへのポインターの可変長リストを引数として使用するように上記を拡張するにはどうすればよいでしょうか。例えば、

ここでは、データ メンバが 11のデータ メンバを 持つ をコンテナ内objectsで検索します。これは、 "Tom" を持つ です。に渡すことができるデータ メンバーへのポインターのチェーンの大きさに制限はありません。Object*Thing*valueObject*searchByDataMember

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

c++ - データ メンバへのポインタを反転する

こんにちは、クラスのメンバーのオフセットを計算することが (C++ によって) 標準であるかどうかを調べようとしています (それを元に戻すため)。

&(parent_p->*offset)であることをC++で行うことは合法parent_pですnullptrか?

0 投票する
0 に答える
101 参照

c++ - メンバ ポインタは常に初期化で new を使用する必要がありますか?

この質問では、コンストラクターが呼び出すメソッドで奇妙なセグメンテーション違反が発生しますが、明らかに他の場所にはありません (定義が次のように見えるCodeBreaker::testVectorOfElements呼び出し元でもありません)。main()

CodeBreakerプライベートがありstd::vector<IntegerRing::Element> numericCodesます。

この問題の原因は、 である の私の宣言にIntegerRingあるようIntegerGroupです。両方のクラスの MCVE コードは次のとおりです。

IntegerGroup.h

IntegerGroup.cpp

IntegerRing.h

IntegerRing.cpp

CodeBreaker.h

CodeBreaker.cpp

main.cpp

Array単純な DIYvectorです。これは、データ構造クラスのために何年も前に作成しなければならなかったものです。vectorここで抱えている問題の代わりに使用しました。(問題認識?)

すべてのコードはこちらから入手できます。問題は、newこれらのポインターを割り当てるときに使用する必要があったかどうかです。がIntegerRing作成されると、それIntegerRing::Elements自体へのポインターを渡す を作成しようとします (必要に応じて、リングの数学的定義では、リングに加算と乗算を装備する必要があり、その数学的構造の要素はその演算子を使用します)。