CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

?@@@ Effective C++ :堆和堆栈的区别?@@@

楼主zjxushengyong(布袋和尚--木木)2003-08-04 14:58:43 在 C/C++ / C++ 语言 提问

1。堆和堆栈的区别?  
  2。基于堆的对象是通过使用new产生的,那基于堆栈的对象是通过什么方式产生的呢?  
  3。什么时候使用堆比较好?什么时候使用堆栈比较好? 问题点数:20、回复次数:8Top

1 楼zjxushengyong(布袋和尚--木木)回复于 2003-08-04 15:02:13 得分 0

4。堆上申请的内存最后必须要用delete来释放,那堆栈上内存是靠什么原理来释放的呢?Top

2 楼zjxushengyong(布袋和尚--木木)回复于 2003-08-04 15:25:02 得分 0

高手们赶快回答啊...Top

3 楼shornmao(毛豆子[死猫])回复于 2003-08-04 17:03:02 得分 20

1)  
  堆(heap)空间是显式的申请和释放的,也就是受应用程序的代码控制的。  
  而栈/堆栈(stack)是由编译程序自动生成申请和释放的代码的,对应用程序来说是透明的,不需要担心存储空间的维护问题。  
  2)  
  基于栈的对象是直接定义变量产生的,此外,在参数传递和函数返回时都有可能发生。  
  3)  
  使用栈的目的,更快的内存分配和释放的速度,也更安全,不容易造成内存使用错误。  
  使用堆的目的,更灵活的控制对象创建和销毁的时机,多态的创建对象也必须使用堆。  
  4)  
  栈对象在他的生存期结束时,自动释放内存。由编译器处理,一般是push指令分配,pop指令释放。  
  Top

4 楼shornmao(毛豆子[死猫])回复于 2003-08-04 17:05:03 得分 0

说句老实话,Effective   C++不适合你看,因为你的基本C++知识还没有掌握。  
  推荐你看C++编程语言,让你看原版的你可能无法接受,那就看中译本吧。Top

5 楼Meyer(断水)回复于 2003-08-04 17:21:13 得分 0

shornmao(死猫)    
   
  说的话,虽让人一时不能接受,但却是实话Top

6 楼zjxushengyong(布袋和尚--木木)回复于 2003-08-04 18:09:33 得分 0

首先感谢shornmao(死猫)   的热情回答!  
        再者对你的建议我会考虑的,我以前只看过几本比较浅显的c++的教材,所以很多知识掌握的不扎实,不过我想先看看其他经典点的书:如Effective   C++,这样才能发现更多的有趣的东西,然后在回过头去看c++教程,这样收获应该更大些,你说是不是呢?  
        另外,希望你能给我们这些后闻道者给予更多的帮助,谢谢!Top

7 楼fireseed(【VC无敌,英明神武,千秋万代,一统江湖!】—奶油狗)回复于 2003-08-04 19:04:56 得分 0

Effective是给已经熟练掌握C++语法的人看的,讲述了很多编译器方面的知识,专搞提高、深入研究用Top

8 楼zjxushengyong(布袋和尚--木木)回复于 2003-08-05 15:00:01 得分 0

学习的方法有很多,就向通向远方的道路一样...条条道路通罗马...  
  也许有时候我们没有可能等一切条件都具备再去做某件事情...  
  Effective   C++这本书我觉得也并不是很高深,它侧重的一些编程规范方面的知识...Top

相关问题

  • 老问题:堆、栈、堆栈的区别?
  • C中堆栈的问题
  • 请指教堆栈与堆的区别?
  • 用C语言模拟堆栈
  • C++异常中的堆栈跟踪
  • 如何用C语言构造堆栈
  • 侯捷的Effective C++ 2/e和Effective C++有什么区别?
  • 谁来讲一下堆和堆栈的区别?
  • 内存分配中堆栈和堆有什么区别呀?
  • 为什么需要知道 堆 和 堆栈 的含义、区别?

关键词

  • c++
  • 内存
  • 堆栈
  • 释放
  • effective
  • 对象
  • 使用
  • 知识
  • 申请
  • 掌握

得分解答快速导航

  • 帖主:zjxushengyong
  • shornmao

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo