显式的调用析构函数是一件非常危险的事情,,我们自己所谓的显式调用析构函数,实际上只是调用了一个成员函数,并没有真正意义上的让对象“析构”。为了理解这个问题,我们必须首先弄明白“堆区”和“栈区”的概念。《具体的区别参加我的文章-《堆区和栈区浅谈》》堆区(heap)——一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。栈区(stack)——由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。如果对象被建立在堆上,系统就不会自动调用。所以,如果我们在析构函数中有清除堆数据的语句,调用两次意味着第![](http://www.cnblogs.com/rollenholt/aggbug/1907416.html?type=2)
作者: Rollen Holt 发表于 2010-12-16 00:12 原文链接
评论: 0 查看评论 发表评论
最新新闻:
· 在线比价搜索引擎Shop.com出售 盖茨曾投资(2010-12-16 08:54)
· 邓元鋆离职背后:诺基亚中国腹背受敌(2010-12-16 08:53)
· 央行:超级网银收费将降低(2010-12-16 08:52)
· Android和iPhone平台2010年度最佳软件和游戏榜单出炉(2010-12-16 08:50)
· 京东遭遇出版社集体逼宫 今日恢复原价改返券(2010-12-16 08:48)
网站导航:博客园首页 我的园子 新闻 闪存 小组 博问 知识库
文章来源:
http://www.cnblogs.com/rollenholt/articles/1907416.html
posted on 2010-12-16 00:12
Rollen Holt 阅读(49)
评论(0) 编辑 收藏 引用