C++中newとdeleteの使い方詳細
C++中newとdeleteの使い方詳細
newとdelete演算子は、メモリを動的に割り当て、元に戻す演算子です。
newの使い方:
1. シングル変数のアドレス空間を開く
1)new int //1つの配列の格納空間を開いて、記憶空間を指すアドレスを返します。int*a=new intは、1つのintタイプのアドレスを整数ポインタaに割り当てます。
2)int*a=new int(5)は同じ作用ですが、同時に整数の値を5とします。
2. 配列空間を開く
一次元:int*a=new int[100];サイズ100の整数配列空間を開きます。
二次元:int**a=new int[5][6]
三次元と以上:これに類推する。
一般用法:newタイプ[初期値]
delete用法:
1.int*a=new int
delete a; //単一intの空間を解放する
2.int*a=new int[5];
delete[]a;//解放int配列空間
newにアクセスするために開発された構造体空間は、直接変数名ではなく、割り当てられたポインタだけでアクセスできます。
newとdeleteを使って動的に開拓して、アドレス空間を取り消すことができます。プログラムを作る時、一つの変数(普通は一時的に保存されている配列)を使い切ると、今度は使う必要があります。
疑問があれば、メッセージをお願いします。あるいは、当駅のコミュニティで交流して討論してください。ありがとうございます。
newとdelete演算子は、メモリを動的に割り当て、元に戻す演算子です。
newの使い方:
1. シングル変数のアドレス空間を開く
1)new int //1つの配列の格納空間を開いて、記憶空間を指すアドレスを返します。int*a=new intは、1つのintタイプのアドレスを整数ポインタaに割り当てます。
2)int*a=new int(5)は同じ作用ですが、同時に整数の値を5とします。
2. 配列空間を開く
一次元:int*a=new int[100];サイズ100の整数配列空間を開きます。
二次元:int**a=new int[5][6]
三次元と以上:これに類推する。
一般用法:newタイプ[初期値]
delete用法:
1.int*a=new int
delete a; //単一intの空間を解放する
2.int*a=new int[5];
delete[]a;//解放int配列空間
newにアクセスするために開発された構造体空間は、直接変数名ではなく、割り当てられたポインタだけでアクセスできます。
newとdeleteを使って動的に開拓して、アドレス空間を取り消すことができます。プログラムを作る時、一つの変数(普通は一時的に保存されている配列)を使い切ると、今度は使う必要があります。
疑問があれば、メッセージをお願いします。あるいは、当駅のコミュニティで交流して討論してください。ありがとうございます。