簡單的問題,但我似乎無法找到答案。它是怎麼運用#define
定義一個負數,如:#定義負數?
#define kGravity -9.8
Xcode是改變了9.8到我的號碼的顏色我已經設置(紫色),但-
被顯示爲相同的顏色作爲定義語句(橙色)。
這合法嗎?它會編譯?
簡單的問題,但我似乎無法找到答案。它是怎麼運用#define
定義一個負數,如:#定義負數?
#define kGravity -9.8
Xcode是改變了9.8到我的號碼的顏色我已經設置(紫色),但-
被顯示爲相同的顏色作爲定義語句(橙色)。
這合法嗎?它會編譯?
你試過了嗎?它應該工作正常。
但是,我鼓勵你不要使用預處理器宏,而是使用實常量。
static const float kGravity = -9.8f;
一般來說,預處理器指令有點不爽。這裏有一些關於這個主題的更多的信息:#define vs const in Objective-C
用#define
定義負常數是絕對合法的。你發現的很可能是Xcode代碼着色中的一個錯誤,它可能會在未來的修訂版本中修復。
從語法上講,'-'不是數字的一部分。它是一個一元運算符。因此「數字」着色不適用。它根據上下文根據「預處理器語句」或「純文本」設置進行着色。 – 2013-04-08 02:18:04
通常最好在這樣的定義周圍有'()',以防止由於一系列運算符而導致表達式混淆。現在無法想到一個例子......你是否試圖編譯它?發生了什麼? – Floris 2013-04-08 02:02:15
它確實構建成功。我只是想確保當我使用像'float v = vo +(kGravity * time)'這樣的代碼時''這個kGravity將被替換爲'-9.8'而不是'+ 9.8' – David 2013-04-08 02:04:42
您可以隨時嘗試'printf( 「我的號碼是%f \ n」,kGravity)'看看會發生什麼。不知道爲什麼你需要問社區? – Floris 2013-04-08 02:06:46