Chinaunix首页 | 论坛 | 博客
  • 博客访问: 641465
  • 博文数量: 128
  • 博客积分: 4385
  • 博客等级: 上校
  • 技术积分: 1546
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-22 14:05
文章分类

全部博文(128)

文章存档

2012年(2)

2011年(51)

2010年(75)

分类: C/C++

2010-12-01 10:32:43

程序员对堆对象的生命具有完全的控制权。我们常常需要这样的对象,比如,我们需要创建一个对象,能够被多个函数所访问,但是又不想使其成为全局的,那么这个时候创建一个堆对象无疑是良好的选择,然后在各个函数之间传递这个堆对象的指针,便可以实现对该对象的共享。另外,相比于栈空间,堆的容量要大得多。实际上,当物理内存不够时,如果这时还需要生成新的堆对象,通常不会产生运行时错误,而是系统会使用虚拟内存来扩展实际的物理内存。
--控制生命期
如果,你知道空间的大小的最大限制,而且也知道其作用域仅限于函数范围内,使用栈是很简单的事。但是,如果,你不能够确定一个变量的空间大小,也不能够明确这个变量的作用域仅限于这个函数以内,那还使用对比较安全。
类的共享牵涉到程序效率问题,如果是一种树、环、链或是复杂的对象集,使用类复制很不现实,而且资源效率都很成问题。
阅读(2715) | 评论(0) | 转发(0) |
0

上一篇:MeeG0-Xephyr

下一篇:Fibonacci number 一

给主人留下些什么吧!~~