- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインタ宣言とメソッド定義について)
C++でのポインタ宣言とメソッド定義について
このQ&Aのポイント
- C++でのポインタ宣言とメソッド定義について簡潔に解説します。
- C++におけるポインタ宣言には、型の後ろに*をつける方法と変数名の前に*をつける方法があります。
- また、C++のコンストラクタ実行時に:x(0)という記述はx=0と同じ処理をしています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
・前者 その例では全く一緒。但し、int* bとする場合はint* b, c;のcは整数型なことに注意。 ・後者 厳密には同じとは言い切れない。 それは初期化リストと呼ばれ、実行に先立って処理される。 例えば継承元のクラスの初期化やconstなメンバの初期化は代入ではできない。 Ex. class foo { const int member; protected: foo(int value) : member(value) {} }; struct bar : private foo { bar() :foo(0) {} }; int main() { bar baz; return 0; }
お礼
ご回答ありがとうございました。 参考書によっては型の後ろか変数の前についていて、説明書きがなかったものですからこれですっきりしました。 インスタンス生成→初期化リスト実行→コンストラクタ実行という流れだったんですね。 どうもありがとうございました。