【4】学习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. 申请内存后需要判断内存是否申请成功,释放内存后需要设置空指针,避免二次释放。
posted @ 2019-04-12 16:59  机智少女不怀孕  阅读(227)  评论(0编辑  收藏  举报