下载此文档

结构体和类对比.doc


文档分类:IT计算机 | 页数:约2页 举报非法文档有奖
1/2
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/2 下载此文档
文档列表 文档介绍
今天看报纸,看到结构两个字就让我联想起“结构体”这个东东,可想我对编程时多么热爱阿,时刻都能想起跟程序有关的东东(中毒太深)。然后我就想起好像在项目中很少用到结构体,大多用是用类替换了结构体,其实结构体在必要的时候还是需要使用的。先讲讲结构体的优点吧.   结构是值类型,。结构相对于类来说有两个性能上的优势,结构通常分配在栈(Stack)上面,类的实际内容通常分配在堆(Heap)上面,访问栈的速度会比访问堆的速度更快。但是这并不是一个明显的优势。最主要的是栈上面的内容释放是非常快的,通常在函数调用结束以后,栈就自动释放了;但是对于堆来说,必须等待垃圾收集器(GarbageCollector)来收集,往往垃圾收集器的工作都有滞后特性,所以我们不一定当时就能注意到性能的变化,但是这种影响终究会体现出来。  结构体数组效率比类数组效率高(不需要装箱合拆箱)。 再讲讲结构体的弱点吧。    作为参数传递的时候效率低   装箱(Boxing)和解箱(Unboxing)效率低,如:结构体集合(如Hashtable)效率比类集合效率低。集合的元素是引用类型,所以结构体必须进行装箱和拆箱处理。所以类在大的集合中更有效率。 那么我们最终关心的是:什么时候用结构体,什么时候用类在下面这种情况中使用结构体:     1希望能够象原始类型(比如int,double之类的)一样使用它。比如我们可以声明一个复数结构,然后像double类型一样地使用它。     2需要的内存较少,栈可以完全地容纳它。     3想避开垃圾收集器的处理,自己掌握资源的释放。     4只需要缺省的值,而不需要在声明字段的时候赋值。     5不需要从基类继承,当然,不包括ValueType。     6不需要多态行为。  在下面这种情况中使用类:   

结构体和类对比 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数2
  • 收藏数0 收藏
  • 顶次数0
  • 上传人szh187166
  • 文件大小20 KB
  • 时间2019-09-09