C++メモリ管理ガイド

C/C++メモリ領域の分布 C/C++プログラムのメモリ領域は、スタック、メモリマッピングセグメント、ヒープ、データセグメント、コードセグメントに分割されます。 スタック: 非静的局所変数、関数引数、戻り値などが格納され、下向きに成長します。 メモリマッピングセグメント: 共有動的メモリライブラリの読み込みに使用されます。 ヒープ: プログラム実行時の動的メモ ...

6月4日 16:52 投稿

C++におけるメモリ管理:new/delete演算子の仕組みと実践

1. C言語の動的メモリ管理 void Test() { int* p1 = (int*)malloc(sizeof(int)); free(p1); // malloc/calloc/realloc の違い int* p2 = (int*)calloc(4, sizeof(int)); int* p3 = (int*)realloc(p2, sizeof(int) * 10); // p2 を free する必要はあるか? free(p3); } realloc は元のメモリブロックを拡張(インプレース)するか、新しい ...

5月31日 03:10 投稿