• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:(C++) for文内でのインスタンス生成について)

(C++) for文内でのインスタンス生成について

このQ&Aのポイント
  • for文内でのインスタンス生成についての質問です。同じメモリアドレスを参照したインスタンスが生成されてしまい、別の処理で一つのインスタンスに変更を加えるとすべてのインスタンスに変更がかかってしまいます。解決方法はありますか?
  • for文を使用してループさせながらインスタンスを生成すると、同じメモリアドレスを参照したインスタンスが生成されてしまいます。したがって、別の処理で一つのインスタンスに変更を加えると、すべてのインスタンスに変更がかかってしまいます。この問題を解決する方法はありますか?
  • for文を使用してループさせながらインスタンスを生成すると、同じメモリアドレスを参照したインスタンスが生成されてしまいます。これにより、別の処理で一つのインスタンスに変更を加えると、すべてのインスタンスに変更がかかってしまいます。この問題を解決するにはどうすればよいでしょうか?

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

&obj だから、インスタンスじゃないです。MyObject *型の変数objが格納されているアドレスが出力されています。 newで生成されたインスタンスのアドレスなら obj です。 printf("%p¥n", &intX); こっちも同様に、int型の変数intXが格納されているアドレスです。 さらに、intはクラスでく只の値なので、インスタンスは作られません。 C/C++のメモリ関係は、他の高級言語に比べると、かなりCPU寄りです。 ポインタについて、もっと勉強するのがいいと思います。

chr001
質問者

お礼

kmeeさん、返信ありがとうございます。 >MyObject *型の変数objが格納されているアドレスが出力されています。 そうでした。。 ポインタ変数のアドレスでした。 >ポインタについて、もっと勉強するのがいいと思います。 はい、もっと勉強します。 ありがとうございます!

関連するQ&A