5
可能重複:
「static const」 vs 「#define」 in c的#define MY_INT VS const int的MY_INT
當我這樣做:
#define WEEKDAYS 7
和:
const int WEEKDAYS = 7;
他們有什麼不同?似乎兩者都做同樣的事情 - 爲代碼中的未來使用設定一個恆定值。
可能重複:
「static const」 vs 「#define」 in c的#define MY_INT VS const int的MY_INT
當我這樣做:
#define WEEKDAYS 7
和:
const int WEEKDAYS = 7;
他們有什麼不同?似乎兩者都做同樣的事情 - 爲代碼中的未來使用設定一個恆定值。
#define WEEKDAYS 7
void f() {
int WEEKDAYS = 3; // error
}
const int WEEKDAYS_CONST = 7;
void g() {
int WEEKDAYS_CONST = 3; // okay: local scope for WEEKDAYS_CONST
}
#define WEEKDAYS 7
替換Word WEEKDAYS
的所有發生在源文件與數字7
const int WEEKDAYS = 7;
定義由7所代表的實際恆定的,你可以在你的代碼中訪問。
您已將此標記爲C和C++。對於不同的語言,答案有所不同。 – hvd
要說**永遠不會**標記C和C++的問題會更容易。 –
@JeffMercado它會更容易,但它會是錯誤的。 :)最簡單的例子是一個問題,具體詢問C和C++之間的區別之一(我記得最近的一個問題,問C爲什麼'sizeof('a')'和sizeof(char)'有區別,但不是C++ ) – hvd