メモリの確保(動的、静的)について質問です。 new演算子を使うと動的なオブジェクトの生成ができたり、staticをつけると静的に変数を宣言できるとテキストに載っていました。ではnew演算子やstaticなど、特別にメモリの動的静的を決めずに宣言した変数や関数、オブジェクトなどは、どちらの形でメモリが確保されるのでしょうか? C++を初めての言語として、最近プログラミングを勉強し始めたもので、易しく解説していただければ幸いです。 ちなみに動的メモリと静的メモリについては以下のような理解をしています。 ・動的メモリ…プログラム実行中、必要に応じてメモリの確保、開放をする ・静的メモリ…プログラム開始から終了まで確保され続ける

C言語関連 | プログラミング290閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

この回答はいかがでしたか? リアクションしてみよう

その他の回答(2件)

グローバル変数はstaticな変数と同様にプログラムコード(のデータセクション)に組み込まれます。 ローカル変数はnew演算子で生成されるオブジェクトと同様にスタック上に生成されます。

動的確保・静的確保と、動的メモリ・静的メモリは違う言葉なので注意した方がよいです。 動的確保はプログラム実行時にnewやmalocで確保すること、静的確保はコンパイル時にサイズが決まって確保されているもの(要するにnewやmalloc以外)です。 動的メモリ、静的メモリという言葉は少し曖昧で、文脈や人によって意味が変わるかもしれません。質問に書かれているような寿命での理解も間違いではないです。