クラスのメンバオブジェクトが初期化されるタイミングは次のようになっています。
実は、クラス内では初期化順序に依存したコードが書けるんですね。ちなみにメンバ変数を初期化するためには次のように書きます。
class SomeClass { private: const int m_var1; const int * const m_var2; public: SomeClass() : m_var1(0), m_var2(0) // ←ここで初期化している { // 空で良い } };
こうするとメンバオブジェクトに対する初期化と認識されますので const なメンバオブジェクトにも値を設定することができるようになります。ブロックの中に書いた場合はただの代入です。
Contributions