new不需要计算保存字节的长度;
1.自动返回正确的指针类型,不需要强制类型转化;
2.用new分配的空间,必须要用delete释放,不然这段空间就成为死空间,
也就是向房东借完钥匙,没有还给房东,这个房间就用不了了。
3.如果没有足够的内存满足分配需求,new将返回空指针(NULL),
可以利用这个特性,检查内存动态分配是否成功:
#include<iostream>
using namespace std;
int main()
{
int *p;
p=new int;
if(!p){
cout<<"allocation failure\n"<<endl;
return 1;
}
*p=20;
cout<<*p<<endl;
delete p;
return 0;
}