C++的内存模型
来源:互联网 发布:北京程序员过剩 编辑:程序博客网 时间:2024/06/09 06:36
Simplified Memory Model (C++的内存模型)
1. Stack (栈)
编译器自动分配释放(包括所有函数里面的局部变量,形式参数)
2. Heap (堆)
一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收(若使用new运算符分配内存,如不用delete释放的话,有可能会内存泄漏,也有可能在程序结束时,由操作系统自动收回)
3. Global/Static (全局区/静态区)
全局变量和静态变量的存储是放在一块的。
可以简单认为:
• 程序启动全局/静态变量就在此处
• 程序结束释放
4. Constant (常量区)
可以简单理解为所有常量都放在一起
该区域内容不可修改
注意:
这个简化模型仅用于初学者示意
1. Stack (栈)
编译器自动分配释放(包括所有函数里面的局部变量,形式参数)
2. Heap (堆)
一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收(若使用new运算符分配内存,如不用delete释放的话,有可能会内存泄漏,也有可能在程序结束时,由操作系统自动收回)
3. Global/Static (全局区/静态区)
全局变量和静态变量的存储是放在一块的。
可以简单认为:
• 程序启动全局/静态变量就在此处
• 程序结束释放
4. Constant (常量区)
可以简单理解为所有常量都放在一起
该区域内容不可修改
注意:
这个简化模型仅用于初学者示意
与实际模型并不完全一致
对于函数中创建类对象,是放在栈里面的,如下:
转载自云课堂http://mooc.study.163.com/learn/BUPT-1000003015?tid=1000002016#/learn/content?type=detail&id=1000129033
0 0
- C/C++的内存模型
- C语言的内存模型
- C语言的内存模型
- 为C语言的内存模型辩护
- C语言程序的内存模型
- linux c内存模型
- C/C++内存模型
- c语言内存模型
- C内存模型
- C内存模型
- C/C++内存模型
- c/c++关于内存四区的模型。
- C语言中,二级指针的三种内存模型
- 【C语言提高04】程序的内存四区模型
- C语言中的二级指针的三种内存模型
- C语言内存模型与指针以及变量的关系
- C/C++内存分配模型
- C/C++程序内存模型
- 调用有道词典查词
- java基础入门-多线程同步浅析-以银行转账为例子
- c++11 使用c++风格的cast: static_cast<type>(expression) const_cast<type> dynamic_cast reinterpret_cast
- NBA史上薪水最高球员排行榜
- 安卓手机开发的学习资料
- C++的内存模型
- 深度解读:都是顶薪为什么浓眉远超卡哇伊?
- vim编辑器颜色主题color scheme
- SQL Server中的DBlink的使用
- 《编程导论(Java)·3.2.4 循环语句》
- 《JAVA程序设计》实训第一天——《猜猜看》游戏
- sedna加载xml文件
- ZigZag Conversion
- 推送通知