C++语言内的堆和栈的区别
来源:互联网 发布:java xml 字节点 编辑:程序博客网 时间:2024/06/06 05:24
C++编译的程序占用的内存一般分为5个部分:
1.栈区(stack)
2.堆区(heap)
3.全局区(静态区)
4.文字常量区
5.程序代码区
1.栈区(stack)
对于这块内存区域来讲,都是由编译器自动分配释放,一般函数的参数值、局部变量的值等都存放在这里。
2.堆区(heap)
一般由程序员分配和释放,若程序员不释放,一般到程序结束时由操作系统自动回收。一般存储的是new或者malloc新开辟出来的内存。
这里引用别人的一个比喻:
使用栈就像去饭店点餐一样,只管点餐,吃完付账就走人,而使用堆的话就像自己买菜做饭,什么都要管,要管生成要管销毁。
注意:
使用new的时候一定要关心delete,使用malloc的时候一定要关心free。
0 0
- c语言堆和栈的区别
- c语言堆和栈的区别
- C语言堆和栈的区别
- c语言 栈和堆的区别
- c语言堆和栈的区别
- C语言堆和栈的区别
- C语言---堆和栈的区别
- C语言堆和栈的区别
- C++语言内的堆和栈的区别
- C语言(C++)堆和栈的区别
- 【转载】---C语言里的堆和栈的区别
- c语言的堆和栈的区别
- C语言中堆和栈的区别
- C语言中堆和栈的区别
- C语言中堆和栈的区别
- C语言中内存堆和栈的区别
- C语言中堆和栈的区别
- C语言中内存堆和栈的区别
- iOS巅峰之摇一摇功能的实现
- vmware tool 32位 64位安装失败的不同
- 【Java基础】冒泡排序算法原理+实现
- druid sql监控 简单配置(绝对管用,测试通过)
- 关于LayoutInfalter.infalte方法的三个参数
- C++语言内的堆和栈的区别
- 常用操作记录
- 图像的变换模型
- ubuntu修改host
- 关于View的measure,layout方法
- 编码经验 2016年6月7日
- (Android)线程池
- txt文件的操作
- HDU 1003 Max Sum (入门DP[1] 最大连续子序列)