在堆(heap)上创建内存和在栈(stack)上生成内存有什么区别!(UP有分,1小时后结帐)

Cpp_fan 2002-05-07 04:43:30
只是偶然看到内存在 heap 上分配和 stack 上!但是不知道两者的不同,在什么时候用 heap , 什么时候用 stack !
请高手指点!
...全文
98 点赞 收藏 39
写回复
39 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
狼儒子 2010-06-09
感觉好复杂。不懂。看来我还要加倍努力学习。。。
回复
w_j76 2002-05-07
up
回复
寂寞漂泊 2002-05-07
学习再学习
回复
Cpp_fan 2002-05-07
谢谢 yu_hl(卖柴火的小男孩), 我明白了!
回复
mashang 2002-05-07
又长知识了
回复
xuboT 2002-05-07
heap中的东西是属于系统内存自由区,有系统管理。如果你的程序
使用了heap(如new)而没有delete,则会出现内存漏洞。而stack
空间是系统分配给进程的,只要进程结束就会有系统收回,不会有
漏洞的概念了。
回复
atlantis13579 2002-05-07
先UP一下
回复
cqtine 2002-05-07
学习再学习
回复
yu_hl 2002-05-07
>难道在 heap 中的内存都会不会自己释放吗
程序结束时由系统释放。
不过如果你的程序在运行,申请的资源没有释放,可用的资源会越来越少。严重影响程序性能。

》在GC(没有指针的语言)系统中就没有stack这样的东西了!
GC自己回收废内存啊,所以叫GC :)
但由GC来回收性能还是有所影响的。
回复
weblove 2002-05-07
先up一下,然后漫漫回答你把
回复
Cpp_fan 2002-05-07
难道在 heap 中的内存都会不会自己释放吗?

但我看fz_zhou(vcfan)说:

但在GC(没有指针的语言)系统中就没有stack这样的东西了!

现在又有新问题了!

不知道是哪位对了?
回复
lu-ping 2002-05-07
堆栈是由系统管理的一块虚拟内存页面.
CMyClass *hehe;
hehe在进程的堆栈上,
hehe = new CMyClass;
hehe所指的东西在系统的堆内.
使用时被影射入进程的地址空间。
CMyClass a;
hehe=&a;也是栈分配;

回复
qiuanhong 2002-05-07
UP
回复
joy8223 2002-05-07
在堆中分配的内存,得自己用delete释放,而栈中的由系统自己释放
回复
jaidy 2002-05-07
up
回复
cqtine 2002-05-07
关注,难得一见,好久不见的好问题。讨论。学习学习。。。
回复
yz95 2002-05-07
真长知识呀
还能给分
回复
Cpp_fan 2002-05-07
看了以上的高论后,我已经对如何在程序中分配内存心中有了点底了!
回复
我不是大明 2002-05-07
谢谢上面各位高手的指教!

xuying() 的回答,让我想马上去改了自己以前写的一些程序!
回复
我不是大明 2002-05-07
同意 yu_hl 的说法!
回复
加载更多回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-05-07 04:43
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……