• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインタ宣言とメソッド定義について)

C++でのポインタ宣言とメソッド定義について

このQ&Aのポイント
  • C++でのポインタ宣言とメソッド定義について簡潔に解説します。
  • C++におけるポインタ宣言には、型の後ろに*をつける方法と変数名の前に*をつける方法があります。
  • また、C++のコンストラクタ実行時に:x(0)という記述はx=0と同じ処理をしています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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; }

ankomoti
質問者

お礼

ご回答ありがとうございました。 参考書によっては型の後ろか変数の前についていて、説明書きがなかったものですからこれですっきりしました。 インスタンス生成→初期化リスト実行→コンストラクタ実行という流れだったんですね。 どうもありがとうございました。

関連するQ&A