初始化與清理的理解七

2022-08-05 11:12:19 字數 563 閱讀 3337

1、列舉型別

enum關鍵字,它使得我們在需要群組並使用列舉型別集時,可以很方便的處理。在此之前,你需要建立一個整型常量集,但是這些列舉值並不會必然的將其自身的取值限制在這個常量集的範圍之內,因此它們顯得更有風險,且更難以使用。

由於列舉型別的例項是常量,因此按照命名慣例它們都用大寫字母表示(如果在一個名字中有多個單詞,用下劃線將它們隔開)。

在你建立enum時,編譯器會自動新增一些有用的特性。例如,它會建立tostring()方法,以便你可以很方便的顯示某個enum例項的名字,編譯器還會建立ordinal()方法,用來表示某個特定enum常量的宣告順序,以及static values()方法,用來按照enum常量的宣告順序,產生由這些常量值構成的陣列。

儘管enum看起來像是一種新的資料型別,但是這個關鍵字只是為enum生成對應的類時,產生了某些編譯器行為,因此在很大程度上,你可以將enum當作其他任何類來處理。事實上,enum確實是類,並且具有自己的方法。

enum有一個特別實用的特性,即它可以在switch語句內使用。

大體上,你可以將enum用作另外一種建立資料型別的方式,然後直接將所得到的型別拿來使用。

GDI 的初始化

注 如果包含後出現編譯錯誤,那麼看看stdafx h中有沒有定義win32 lean and mean,有的話註釋掉就ok 1 需要連結gdiplus lib 2 使用gdi 需要進行初始化,否則執行時會出現問題。 為了方便使用,我將初始化 和釋放 放到一個類中,使用時只需要定義這個類的一個glob...

陣列的初始化

陣列的初始化是一個簡單的不能再簡單,常見的不能再常見的用法。好像沒什麼可講的啊,哈哈,不過,你確定對這個問題已經很瞭解了嗎? 同志,不得不提...

C 變數的預設初始化和值初始化

值初始化 1 在陣列初始化的過程中,如果提供的初始值數量少於陣列的大小,剩下的元素會進行值初始化 2 靜態static變數 定義在塊作用域外的全域性變數,如果沒有顯式的初始值,將執行值初始化 3 當我們通過書寫形如t 的表示式 例如 int 顯式地請求值初始化時 預設初始化 1 當我們在塊作用域內 類...