問題タブ [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.
c++ - データ メンバーへのポインターの可変長リスト
この作業コードを検討してください。この関数searchByDataMember
は、データ メンバーへのポインターを引数として使用して、コンテナー内の値を検索します。
では、それ自体を指しているデータ メンバーが検索するデータ メンバーを持っている場合に、データ メンバーへのポインターの可変長リストを引数として使用するように上記を拡張するにはどうすればよいでしょうか。例えば、
ここでは、データ メンバが 11のデータ メンバを 持つ をコンテナ内objects
で検索します。これは、 "Tom" を持つ です。に渡すことができるデータ メンバーへのポインターのチェーンの大きさに制限はありません。Object*
Thing*
value
Object*
searchByDataMember
c++ - データ メンバへのポインタを反転する
こんにちは、クラスのメンバーのオフセットを計算することが (C++ によって) 標準であるかどうかを調べようとしています (それを元に戻すため)。
&(parent_p->*offset)
であることをC++で行うことは合法parent_p
ですnullptr
か?
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
自体へのポインターを渡す を作成しようとします (必要に応じて、リングの数学的定義では、リングに加算と乗算を装備する必要があり、その数学的構造の要素はその演算子を使用します)。