学习C++之内存管理

时间:2019-04-12 17:11:21   收藏:0   阅读:91

单个内存申请及释放:

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. 申请内存后需要判断内存是否申请成功,释放内存后需要设置空指针,避免二次释放。

原文:https://www.cnblogs.com/H2Rain/p/10697110.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!