2012-11-21 22 views

回答

2

我相信使用#define作爲常量是C的遺蹟,因爲在C中並不總是一個const關鍵字。現在你可以使用const int來代替,而且應該。至於enum,C++ 11提供了一些值得檢驗的enum的一些整齊的功能,如果你將有多個相關的常量,它們可能會比任何東西更適合你的需求。

+1

*在C中有一個'const'關鍵字,它的用處不大,因爲當C說它需要一個「常量表達式」時,它意味着一個文字,而不是一個「const」。 – delnan

+1

我不認爲const關鍵字一直在那裏。它是在C++ –

+0

推出之後推出的,它肯定存在於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