Paul_xxb

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年9月20日

摘要: 1、 堆和栈的区别? 答:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、栈是向下增长的,... 阅读全文
posted @ 2011-09-20 00:20 Paul_xxb 阅读(777) 评论(0) 推荐(0) 编辑

摘要: 相同点:都可用于申请动态内存和释放内存 不同点: (1)操作对象有所不同。 malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不... 阅读全文
posted @ 2011-09-20 00:12 Paul_xxb 阅读(287) 评论(0) 推荐(0) 编辑