最終更新:2025-07-24 (木) 18:20:46 (363d)  

C++/メモリ管理
Top / C++ / メモリ管理

種類

  • 実体スタック(関数内など)や静的領域に確保され、スコープを抜けると自動的に破棄
    ポインタヒープ領域を使えば、プログラムが明示的に delete するまで存在

演算子

	int *p;//ポインタ
	int i;	
	p = new int[10];   // int型10個分の領域を動的確保
	delete [] p;       // 動的に確保した領域を解放

アロー演算子

  • new演算子を使ってインスタンス化する場合、そのメンバ変数やメンバ関数をアクセスするときに、アロー演算子を使うことになります。(ポインタ経由のアクセスになるので)

malloc

スマートポインタ

C++03

  • auto_ptr<T>
    • T*型のポインタを保持し、デストラクタ時に自身が所有権を持つメモリが存在すれば、deleteを実行

C++11