2016-08-19 4 views
-6

ポインタがある場合float *p;そしてその要素の要素またはそのすべての要素を削除したいと思います。C++でポインタの要素を削除する方法

そしてdelete [] p;オペレータはポインタまたは要素のアドレスも削除しますか?

ありがとうございます。

float* p = new float[some_size]; 

あなたが割当てを解除する必要があります。

delete p; 

は、あなたが使用してメモリを割り当てるとき:

float* p = new float; 

は、あなたが使用しているメモリを解放する必要があります:あなたが使用してメモリを割り当てる

+1

しかし、 'float * p'は一つの要素(floatへの単一のポインタ)です。 'float * p []' - 浮動小数点ポインタの配列ですか? –

+0

「その要素」とは何ですか? –

+0

'std :: vector'を使います。 – GManNickG

答えて

3

そのメモリを使用して:

delete [] p; 

割り当てたメモリの一部を割り当て解除することはできません。いずれのnew/deleteメソッドを使用するかにかかわらず、deleteの呼び出しは、対応するnewへの呼び出しによって割り当てられたすべてのメモリの割り当てを解除します。

関連する問題