Unity程序開發(fā)的C++筆記
在C++中,我們在C++的頭文件中聲明 類、變量、函數(shù)。就可以在其他地方用include的頭文件,然后再做定義。
第2節(jié) 、C++中類的實例化
在C++中實例化一個類不需要用new。也可以用new,但是區(qū)別是:不使用new,開辟棧空間,使用new開辟的空間為堆空間。
第3節(jié)、指針
在C++中,一個指針所占的字節(jié)數(shù)由操作系統(tǒng)的位數(shù)決定。一個指向int類型的指針,在32位操作系統(tǒng)中是4個字節(jié)在64位操作系統(tǒng)中是8個字節(jié)。
此外 int *a 和int* a ?是同沒有差別的,只是寫法上的不同。同理,當我們使用int數(shù)組作為形參時 int a[] 和 int* a也沒有區(qū)別,都是傳遞指針。
補: 作為形參時, int a[] 和 int* a還是有區(qū)別的,int a[] 是常量,int* a是變量
在C++中,我們可以使用delete的關鍵字來釋放臨時的空間。
第5節(jié)、函數(shù)的調用
在C++中必須先聲明函數(shù)才能定義。
第6節(jié)、類
C++的類有構造函數(shù)和析構函數(shù)。
1.析構函數(shù)
析構函數(shù)是C++內釋放的時候調用的函數(shù)。
2.構造函數(shù)
對象創(chuàng)建的時候調用的函數(shù)。 C++中不使用new,它也會調用構造函數(shù)。在C++中如果用戶定義有參構造函數(shù),那么C++不會提供無參構造函數(shù)。這一點與Java和C sharp不同。
此外C++還有拷貝構造函數(shù)。
3.拷貝構造函數(shù)
默認提供的拷貝構造函數(shù)對C加對C++對象的屬性進行淺拷貝。
這就是問題所在,如果上一個函數(shù)在釋放之后將其變量delete掉那么下一個函數(shù)在拷貝時。得到的值就是空。所以我們要自定義拷貝構造函數(shù)。