黑马程序员技术交流社区

标题: heap 和stack有什么区别? [打印本页]

作者: 谢辉林    时间: 2012-12-20 09:34
标题: heap 和stack有什么区别?
heap 和stack有什么区别?
作者: 王斌    时间: 2012-12-20 09:38
Stack 类表示后进先出(LIFO)的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 push 和 pop 操作,以及取栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到栈顶距离的 search 方法。
首次创建堆栈时,它不包含数据项。


Stack 类表示后进先出(LIFO)的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 push 和 pop 操作,以及取栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到栈顶距离的 search 方法。
首次创建堆栈时,它不包含数据项。

作者: 李先洋    时间: 2012-12-20 09:59
1.heap是堆,stack是栈。

2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配。

3.stack空间有限,heap的空间是很大的自由区。




作者: 刘斌    时间: 2012-12-20 13:02
1.heap是堆,是由malloc之类函数分配的空间所在地。地址是由低向高增长的。
  stack是栈。是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。
2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配。
3.stack空间有限,heap的空间是很大的自由区。

作者: 谢辉林    时间: 2012-12-21 10:09
谢谢各位受教了{:soso_e100:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2