2016-08-19 156 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