码迷,mamicode.com
首页 > 其他好文 > 详细

结构与类的对象在引用上的不同之处

时间:2016-08-17 12:07:37      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

用到List<T>,T为结构时,new 对象,对象每次生成值存入list中,list存入每次生成的值;T为类时,new 对象,对象每次生成值存入list中,list存入的都会变成最近一次生成的值。

也就是说:结构与类,new一个对象时,结构每次引用对象都会生成不同的值,但类的对象每次生成的值都会把前面的值覆盖。

原因:结构对象每次生成的值都会开辟新的内存空间,来存放每次的值,而类对象每次生成的值
都会只在原来new生成的对象内存空间中,内存固定,所以会把原来的值覆盖掉。
即如下面所说:
类:

类是引用类型在堆上分配,类的实例进行赋值只是复制了引用,都指向同一段实际对象分配的内存

类有构造和析构函数

类可以继承和被继承

结构:

结构是值类型在栈上分配(虽然栈的访问速度比较堆要快,但栈的资源有限放),结构的赋值将分配产生一个新的对象。

结构没有构造函数,但可以添加。结构没有析构函数

结构不可以继承自另一个结构或被继承,但和类一样可以继承自接口

结构与类的对象在引用上的不同之处

标签:

原文地址:http://www.cnblogs.com/lxxhome/p/5779134.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!