2016-08-19 68 views
-6

如果我有一個指針float *p;而我想刪除它的元素或其所有元素的一個元素..是否有任何操作符可以做到這一點?如何在C++中刪除一個指針的元素

delete [] p;運算符將只刪除指針或元素的地址嗎?

在此先感謝。

+1

但'float * p'是一個元素(指向浮點的單個指針)。你是不是指'float * p []' - 一個浮點數組的指針? –

+0

「其元素」是指什麼? –

+0

使用'std :: vector'。 – GManNickG

回答

3

當您使用分配內存:

float* p = new float; 

您需要使用解除分配內存:

float* p = new float[some_size]; 

您需要取消分配:

delete p; 

使用您分配內存該內存使用:

delete [] p; 

您無法取消分配您分配的部分內存。無論您使用哪種方法,對delete的調用都會將呼叫分配的所有內存解除分配給相應的new