在一些C++的应用程序中,我们会使用动态内存,这时就会用到new和delete。
new delete 是由C语言中的malloc free发展过来的,但比后者更方便
1.检查new是否申请成功
#include<iostream>
using namespace std;
int main()
{
int *p;
p=new int; //也可使用 double float char[number] 等
if(p==NULL) return -1; //检查是否申请成功(如申请失败,则p会返回NULL)
//...... //return -1 代表有错误,程序会中断
return 0;
}
2.动态内存用完后一定要删除
delete 指针名; //注意:如果动态内存为char型,需使用 []指针名
其实我个人认为,delete可以不用,但最好还是要删除动态内存。
注:本人并不精通C++,可能用一些错误,请指出