問題タブ [ctor-initializer]
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++ - C++ コンストラクター名に続くコロンは何をしますか?
このコンストラクタでコロン演算子 (":") は何をしますか? と同等MyClass(m_classID = -1, m_userdata = 0);
ですか?
c++ - コンストラクターでconstフィールドを初期化する方法は?
C ++クラスFooと、Fooポインターが渡されるコンストラクターで作成する必要のあるクラスBarがあり、このポインターはBarインスタンスのライフサイクルで不変のままであると想定しています。それを行う正しい方法は何ですか?
実際、私は以下のコードのように書くことができると思いましたが、コンパイルされません。
どんな提案でも大歓迎です。
c++ - 初期化子リスト *引数* 評価順序
そのため、C++ 標準では、コンストラクターの初期化子リストに記載されている順序ではなく、クラスで宣言されている順序でクラス メンバーを初期化する必要があります。ただし、これは、これらの初期化への引数が評価される順序については何も意味しません。シリアル化オブジェクトへの参照を頻繁に渡すシステムで作業しており、オブジェクトのフィールドにビットが書き込まれる順序とは無関係に、ビットが正しい順序で読み取られるようにできるかどうか疑問に思っています。
ints
明らかに、宣言内のやのようなものを並べ替えるdoubles
のはそれほど大したことではありませんが、より大きなオブジェクトや動的割り当てを必要とするものは、場合によってはそうなる場合があります。
c++ - コンストラクターのこの奇妙なコロンメンバー (" : ") 構文は何ですか?
最近、次のような例を見ました。
この奇妙な: bar(num)
意味は何ですか?どういうわけかメンバー変数を初期化しているように見えますが、この構文はこれまで見たことがありません。関数/コンストラクター呼び出しのように見えますが、int
? 私には意味がありません。おそらく誰かが私を啓発することができます。ところで、通常の C++ の本には見当たらない、このような難解な言語機能は他にありますか?
c++ - メンバーをメンバーで初期化する
これは私がよく遭遇する問題です。次の例はそれを示しています。
のコンストラクターの実装は次のC
ようになります。
初期化の順序が定義されていないためm_ObjectA
、のコンストラクターm_ObjectB
が呼び出されたときに初期化されない可能性があり、未定義の動作が発生します。初期化の特定の順序を強制する1つの方法は、メンバーポインターを作成し、コンストラクター本体でそれらを初期化して、正しい順序を強制することですが、これはいくつかの理由で醜いです。コンストラクターの初期化リストを使用して、特定の初期化順序を強制する方法はありますか?そうでない場合は、これを処理する方法について他に提案がありますか。
c++ - コンストラクターのコロンの後の変数
私はまだC++を学び、それを理解しようとしています。私はいくつかのコードを調べていて、次のことを確認しました。
コンストラクターのパラメーターの横にある「x(X)、y(Y)、z(Z)」の意味は何ですか?
c++ - Simple constructor with initializer list?
Below I've included my h file, and my problem is that the compiler is not liking my simple exception class's constructor's with initializer lists. It also is saying that string is undeclared identifier
, even though I have #include <string>
at the top of the h file. Do you see something I am doing wrong? For further explanation, this is one of my domain classes that I'm integrating into a wxWidgets GUI application on Windows.
Thanks!
Time.h
c++ - コンストラクターの横で宣言されたプロパティ
私は C/C++ に非常に慣れていないため、メソッドが何と呼ばれているのかわかりません。しかし、それが私がここで答えを見つけようとしている理由です。例をお見せしましょう
valueOne と valueTwo は、本体の外部に値が割り当てられるクラス プロパティであり、どのメソッドが呼び出され、なぜこのように行われるのか。なぜこのようにしないのですか
誰かが私を助けることができれば、それは素晴らしいことです。
c++ - コンストラクタ初期化子から例外をスローします
コンストラクタ初期化子から例外をスローする最良の方法は何ですか?
例えば:
私は多分ラッパーを作ることを考えました、例えばt0(throw_if_invalid(n))
。
そのような場合を処理するための慣行は何ですか?
c++ - クラスに割り当てることができるのは静的変数とconst変数だけですか?
私はC++を学んでいます。不思議なことに、クラス宣言内から静的変数と定数変数にのみ値を割り当てることができますか?これが主に、通常のメンバーに値を割り当てるときに、特別な方法がある理由です。