• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【C++】0保証の有無)

C++初心者のための0保証の有無

このQ&Aのポイント
  • Cの開発経験のみで、C++に関しては初心者です。
  • 下記のサンプルコードで、main()関数にてobj1.xとobj2.yの初期値設定をしているのですが、obj1.yは不定な値をインクリメントすることにはならない(0保証される)のでしょうか?
  • 結果論で片付けるのはイヤなので、出力結果を見ると0が入っていたと認識できるんですが、

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

  • ベストアンサー
  • koyadi
  • ベストアンサー率36% (7/19)
回答No.1

c++で初期化を行わない変数の値は 自動変数とレジスタ変数の場合ごみ値がはいりますが 静的変数と外部変数は0が入ります。 このサンプルではobj1、obj2がグローバルのスコープで宣言されていますので0でメンバが初期化されますが、POINTクラスをローカルで宣言した場合はごみ値が入ります。

akiyousan
質問者

お礼

そういう区切りがあるわけですね。 試しにPOINTクラスをローカルで宣言してみたら、 確かにゴミ値が入る事が確認できました。 回答ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A