0
可能重複:
Should I use #define, enum or const?使用#defines,枚舉值或const ints定義常量值會更好嗎?
最近我發現用枚舉值來定義常量使用很方便,但我想知道哪些優點和使用的利弊常量ints,#defines vs常量的枚舉值?
可能重複:
Should I use #define, enum or const?使用#defines,枚舉值或const ints定義常量值會更好嗎?
最近我發現用枚舉值來定義常量使用很方便,但我想知道哪些優點和使用的利弊常量ints,#defines vs常量的枚舉值?
我相信使用#define
作爲常量是C的遺蹟,因爲在C中並不總是一個const
關鍵字。現在你可以使用const int
來代替,而且應該。至於enum
,C++ 11提供了一些值得檢驗的enum
的一些整齊的功能,如果你將有多個相關的常量,它們可能會比任何東西更適合你的需求。
*在C中有一個'const'關鍵字,它的用處不大,因爲當C說它需要一個「常量表達式」時,它意味着一個文字,而不是一個「const」。 – delnan
我不認爲const關鍵字一直在那裏。它是在C++ –
推出之後推出的,它肯定存在於C89/ANSI C中(http://en.wikipedia.org/wiki/C_%28programming_language%29#Keywords)。那是在Bjarne開始研究C++和C++的幾年之後(根據維基百科)。但我懷疑C早期開始採用C++特性(直到1990年纔將'//註釋放入標準中,這與'const'相比是一個非常簡單的特性)。看起來K&R沒有'const'。但是我沒有找到一個源代碼,無論是源於C還是來自C++。 – delnan