浅谈结构体与类
时间:2011-02-17 来源:马战鹏
struct是值类型,是把一组相关的信息放到一起,形成一个单一的变量(不知道可不可以这样说)。
class和struct他们最最本质的区别就是类型上。class是引用类型,内存分配给托管的堆,而struct是值类型,内存分配给堆栈。通俗一点来讲,就是在传值的时候,值类型是把自己本身复制一遍,传给需要这个值的方法,然后无论这个被传的值怎么改变,它本身就不会改变。而引用类型传值的时候把自身的地址给传出去了,自身值随着方法的改变而改变。随着他们的类型不同,他们也有一些使用上的区别,如:struct不用new来实例化而class是要用new来实例化的等等。现在考虑到面向对象的思想,基本就是类的天下,但是我们在考虑到一些性能方面的情况下,struct还是大有存在的必要的。如:若要实现一个用于存储数据的结构的时候可以用struct。
在我看来,初学者只需要了解这么多,然后着重把class的面向对象思想用好,记住class和struct的本质区别就可以了。因为struct用的比较少,在我看来就有上述一种地方需要用到,至少我是没有多少地方用到。可能C++用到的会比较多,这个我就不清楚了。
相关阅读 更多 +