c++ 内存五区理解
2016-03-15 17:57
423 查看
1,栈:有程序自动分配,友局部变量使用,不需要的时候操作系统自动释放
2,堆:由new 开辟需要用delete去释放,不释放的话 操作系统会在程序结束后释
3,自由储存区:由malloc开辟出来,需要delete释放,不释放的,操作系统会在程序结束后释(和堆类似)
4,全局/静态储存区:用来储存全局变量和静态变量,程序结束后操作系统释放
5,常量储存区:存放不允许修改的常量
ps:new/delete 与 malloc/free 的区别:
1),c++里全部可用,c里面只能用malloc/free
2),malloc/free 是函数 new/delete是c++的运算符
3),new/delete可以创建对象使用构造函数,析构函数
2,堆:由new 开辟需要用delete去释放,不释放的话 操作系统会在程序结束后释
3,自由储存区:由malloc开辟出来,需要delete释放,不释放的,操作系统会在程序结束后释(和堆类似)
4,全局/静态储存区:用来储存全局变量和静态变量,程序结束后操作系统释放
5,常量储存区:存放不允许修改的常量
ps:new/delete 与 malloc/free 的区别:
1),c++里全部可用,c里面只能用malloc/free
2),malloc/free 是函数 new/delete是c++的运算符
3),new/delete可以创建对象使用构造函数,析构函数
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- IE7降低内存和降低CPU的几个技巧
- 如何高效的使用内存
- DOS下内存的配置
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- XP/win2003下发现1G的内存比512M还慢的解决方法
- PowerShell实现动态获取当前脚本运行时消耗的内存
- C#实现把dgv里的数据完整的复制到一张内存表的方法
- SQL语句实现查询SQL Server内存使用状况
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C语言内存对齐实例详解
- C++变位词问题分析