以下是用C#語言對問題的描述
using?System;

class?Client


{
???public?static?void?Main?()

???
{
??????A?a?=?new?A();
??????B?b?=?new?B();
??????a.b?=?b;
??????b.a?=?a;
???}
}

class?A


{
???public?B?b;
}

class?B


{
???public?A?a;?
}為什么這里不用像C++語言描述那樣要做一些處理,而且沒有報錯呢?
系統運行后,內存結構如下:

與C++語言有不同的是,在C#語言中,class這種自定義的數據類型屬于引用類型,所以在聲名的時候是一種引用而已.由于是引用,所以也無所謂大瓶子還是小瓶子了。






























系統運行后,內存結構如下:

與C++語言有不同的是,在C#語言中,class這種自定義的數據類型屬于引用類型,所以在聲名的時候是一種引用而已.由于是引用,所以也無所謂大瓶子還是小瓶子了。