列舉型別相關知識點(騰訊面試)

2021-06-14 04:27:04 字數 1245 閱讀 9179

官林輝c語言或c++的一種構造型別,它用於宣告一組命名的常數。

(1)列舉的宣告:列舉宣告用於宣告新的列舉型別。

訪問修辭符 enum 列舉名:

基礎型別

; 基礎型別必須能夠表示該列舉中定義的所有列舉數值。列舉宣告可以

顯式地宣告 byte、sbyte、short、ushort、int、uint、long 或 ulong 型別作為對應的基礎型別。

沒有顯式地宣告基礎型別的列舉宣告意味著所對應的

基礎型別是 int。

(2)列舉成員

列舉成員是該列舉型別的命名常數。任意兩個列舉成員不能具有相同的名稱。每個列舉成員均具有相關聯的常數值。此值的型別就是列舉的基礎型別。每個列舉成員的常數值必須在該列舉的基礎型別的範圍之內

示例:public enum timeofday:uint

;產生編譯時錯誤,原因是常數值 -1、-2 和 –3在基礎整型 uint 的範圍內。

(3)列舉成員預設值

在列舉型別中宣告的第乙個列舉成員它的默值為零。

以後的列舉成員值是將前乙個列舉成員(按照文字順序)的值加 1得到的。這樣增加後的值必須在該基礎型別可表示的值的範圍內;否則,會出現編譯時錯誤。

示例: 

public enum timeofday:uint

;morning的值為0,afternoon的值為1,evening的值為2。

(4)為列舉成員顯示賦值

允許多個列舉成員有相同的值.

沒有顯示賦值的列舉成員的值,總是前乙個列舉成員的值+1.

示例public enum number

;b的值為2,d的值為2.

注意:以上列舉值

都不能超過它的基礎型別範圍。否則會報錯.

(5)列舉型別與基礎型別的轉換

基礎型別不能隱式轉換為列舉型別

列舉型別也不能隱式轉換為基礎型別

示例:public enum number

;class test

}

http面試相關知識點

二 http快取分類 在web瀏覽器中輸出 具體會發生什麼?1 對 進行dns網域名稱解析,獲取相應的ip位址 2 根據ip位址,找到相應伺服器,發起tcp的三次握手。3 建立tcp連線後,發起http請求。4 伺服器響應http請求,瀏覽器獲取html 5 瀏覽器解析html 並請求html中的資...

型別轉換相關知識點

型別轉換規則 均以補碼形式運算 當賦值運算子兩側的資料型別不同時,需進行型別轉,系統會自動進行轉換。1 float double型賦給int型 直接截斷小數。2 int char型賦給float double型 補足有效位。3 char型賦給int型 數值賦給int型的低8位,其他位補0。4 lon...

python知識點 列舉

1 列舉 enum 列舉 可以表示各種不同的型別。列舉的意義重在標籤,而不在其值。列舉特點 不可變。如有相同值,則第二個列舉名稱是別名。2 列舉型別 列舉名稱 列舉值 from enum import enum 建立乙個vip類,繼承enum類 class vip enum yellow 1 gre...