学习C++之内存管理

单个内存申请及释放:

int *p = new int;
if(p == NULL)
{
   //内存分配失败
   //异常处理
}
delete p;
p = NULL;

内存块的申请及释放:

int *p = new int[100];
if(p == NULL)
{
   //内存分配失败
   //异常处理
}
delete []p;
p = NULL;

注意:

  1. 在C语言中,申请内存及释放内存使用的是malloc和free,这种方式在C++中也可以使用,但是值得注意的是,使用malloc申请的内存只能使用free来释放,使用new申请的内存只能使用delete来释放,不能混搭。
  2. 申请内存后需要判断内存是否申请成功,释放内存后需要设置空指针,避免二次释放。

猜你喜欢

转载自www.cnblogs.com/H2Rain/p/10697110.html
今日推荐