new和delete可以有效地、直接的进行动态内存的分配和释放。
运算符new返回指定类型的一个指针,如果分配失败(如没有足够的内存空间)时则返回0。
如:
double *p;
p=new double;
*p=30.4;// 将值存放在开辟的单元中
系统自动根据double类型的空间大小开辟内存单元,并将地址放在指针p中。当然,也可在开辟内存单元时对单元里的值进行初始化。上述代码等价于:
double *p;
p=new double(30.4);
运算符delete是释放new请求道的内存。 delete p
将p指针的内存单元释放,指针变量p仍然有效,它可以重新指向另一个内存单元。
new也可以为数组分配内存,当释放时,也可以告诉delete数组有多少个。
如:
int *p;
p=new int[10];
delete [10]p;//告诉delete数组有多少个元素,或delete []p;
C++ new 和 delete的用法
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:http://www.heiqu.com/812ee8e0647638d59eadb3729c83b59e.html