C++ - 内存管理
内存管理
C:
int *p = (int*) malloc(sizeof(int)*10); //分配10个int型的内存空间
free(p); //释放内存
C++:
int *p = new int; //分配1个int型的内存空间
delete p; //释放内存
分配释放连续的数据:
int *p = new int[10]; //分配10个int型的内存空间
delete[] p;
C++变量释放内存
int *p=new int; //**
if(NULL==p)
{
//内存分配失败
//异常处理
}
delete p; //**
p=NULL;
C++数组释放内存
int *p=new int[10]; //**
if(NULL==p)
{
//内存分配失败
//异常处理
}
delete []p; //**
p=NULL;
注意
malloc和new是在堆区分配内存的,必须手动释放,否则只能等到程序运行结束由操作系统回收。为了避免内存泄露,通常 new 和 delete、new[] 和 delete[] 操作符应该成对出现,并且不要和C语言中 malloc()、free() 一起混用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2019-08-22 POJ-1088-滑雪-记忆化搜索
2019-08-22 HDU-6441-Find Integer-费马大定理+奇偶数列法则
2019-08-22 UVA-12563-Jin Ge Jin Qu hao-01背包