動的メモリ割り当ての一般的な関数と演算子
598 ワード
動的メモリ割り当ての一般的な関数と演算子
関数:C言語のファイルstdlib.hで提供されるシリーズ関数
mallocは初期化されず、callocを解放すると初期化空間が0になるので、効率を追求する際に使用するmalloc
realloc関数申請空間のステップ:1,sizeサイズのバイトの空間を申請する2,pの値を申請したばかりの空間にコピーする3,pを解放して申請したばかりの空間に戻る
演算子:new delete
※ダイナミックメモリでインスタンス化されたオブジェクトを割り当てると、new/deleteは構造/解析関数を自動的に呼び出し、malloc/freeは呼び出しません.したがって、クラスにスペースを割り当てる場合はnew/deleteを使用することが望ましい.
関数:C言語のファイルstdlib.hで提供されるシリーズ関数
void * malloc(size_t)
void * calloc(size_t,size_t)
mallocは初期化されず、callocを解放すると初期化空間が0になるので、効率を追求する際に使用するmalloc
void * realloc(void * p,size_t size)
realloc関数申請空間のステップ:1,sizeサイズのバイトの空間を申請する2,pの値を申請したばかりの空間にコピーする3,pを解放して申請したばかりの空間に戻る
演算子:new delete
int * pi = new int;
delete pi;
int * pi = new int [5];
delete [] pi;
※ダイナミックメモリでインスタンス化されたオブジェクトを割り当てると、new/deleteは構造/解析関数を自動的に呼び出し、malloc/freeは呼び出しません.したがって、クラスにスペースを割り当てる場合はnew/deleteを使用することが望ましい.