enum與int的相互轉換

2021-10-04 09:33:05 字數 793 閱讀 1235

如何正確理解enum型別?

例如:

enum color ; 

color x;

我們應說x是color型別的,而不應將x理解成enumeration型別,更不應將其理解成int型別。

我們再看enumeration型別:

enum color ;

(c程式設計師尤其要注意!)

理解此型別的最好的方法是將這個型別的值看成是red, white和blue,而不是簡單將看成int值。

c++編譯器提供了color到int型別的轉換,上面的red, white和blue的值即為0,1,2,但是,你不應簡單將blue看成是2。blue是color型別的,可以自動轉換成2,但對於c++編譯器來說,並不存在int到color的自動轉換!(c編譯則提供了這個轉換)

例如以下**說明了color會自動轉換成int:

enum color ;

void f()

以下**也說明了color會自動轉換成int:

void f()

但是,c++編譯器並不提供從int轉換成color的自動轉換:

void f()

若你真的要從int轉換成color,應提供強制型別轉換:

void f()

但你應保證從int轉換來的color型別有意義。

enum和int的相互轉換

例如 cpp view plain copy enum color color x 我們應說x是color型別的,而不應將x理解成enumeration型別,更不應將其理解成int型別。我們再看enumeration型別 cpp view plain copy enum color c程式設計師尤其...

C C 使用心得 enum與int的相互轉換

如何正確理解enum型別?例如 cpp view plain copy enum color color x 我們應說x是color型別的,而不應將x理解成enumeration型別,更不應將其理解成int型別。我們再看enumeration型別 cpp view plain copy enum c...

int 與 string 相互轉換

int轉化為string 最簡單 用 to string int i 111 string s to string i cout 1 使用itoa int to string 1 char itoa int value,char string,int radix 2 原型說明 3 value 欲轉換...