struct 与class的区别 C#与C++的区别

在C++中的区别:

1.默认成员的保护级别:struct默认是public ,class 默认是private

2.默认派生类的保护级别:struct默认是public, class默认是private

在C#中的区别:

默认成员的保护级别都是private, struct 是值类型,该类型的对象实在栈上分配内存;

class是引用类型,该类型的对象是在堆上分配内存。

C#与C++的区别:

1.struct与class的区别;

2.在C#中有Finalize 或Dispose 方法用来释放申请的资源。Finalize方法虽然写法与C++中的析构函数相同,

都是~加类型名,但是调用时机不同。Finalize是CLR在垃圾回收时进行调用的,他的调用时机是运行时决定的,

因此对程序员来说是不确定的。而C++中的析构函数是由程序员手动释放的。

3.在C#中可以定义静态构造函数,在第一次使用对象时调用。而C++中则没有静态构造函数。

posted @ 2013-06-08 14:42  成长的点点滴滴  阅读(273)  评论(0)    收藏  举报