请问堆和栈有什么区别?内存管理的方法有什么不同?
解决方案 »
- Oracle安装文件夹中有关OCI的Demo在哪里?
- 从VC6.0 转到 VC 9.0出现的问题,实在找不出为何,把错误贴出来了。
- CXTPTabControl怎样让标题栏显示在下面?
- 谁帮着解释一下这句话的意思?
- 有没有人做过像超级玛丽那样的游戏?
- ======xml文件的读取求助========
- 难住我了,在dos下,如何知道共有几个逻辑盘?
- 急!ChtmlView在ie5.0低版(5.00.2614)下不能动态往表格里面写内容
- 如何去掉winme的系统恢复
- CxImage的问题!求助!!!!!
- 关于vc和vb接口问题
- 我有一个数据文件,为什么只要文件中只要有出现哪个字节的值是1A,这个文件读取的时候读到这就不往下读了
heap又称为全局堆,要向系统申请。
所以程序结束后,stack中的东东就自动消失拉。
而heap是属于系统的,你只有主动去申请free,才会消失拉。
CDialog m_dlg;//定义的这个变量是在栈空间上分配内存的,当这个变量的作用域结束时,空间被自动释放CDialog *p = new CDialog()
这个对话框变量所占内存是在堆上分配的,当变量的作用域结束时,所占空间不会自动释放掉
需要手工来释放(用delete)上面举了一个例子,希望楼主能理解!