2010-06-15 75 views
2

可能重複:
Is there a clean way to prevent windows.h from creating a near & far macro?的#define遠,近的#define WINDEF.H

是什麼在WINDEF.H這兩個定義的呢?

#define far  /* nothing */ 
#define near /* nothing */ 

我知道它與near and far指針和他們不再使用的事實做,但是,它安全#undef他們,所以我可以在我的代碼使用nearfar爲函數和變量名?

或者,我應該簡單地避免它,從不使用nearfar作爲標識符?

回答

4

不要重複使用它們。你需要的最後一件事是不得不向人們反覆解釋他們不是老派裝飾品。

如果它對您的應用程序至關重要,那麼您可以考慮使用大寫版本(因爲標識符區分大小寫) - 編譯器會在您搞砸時發現錯別字。

只要接受,這是從舊的時代,當電腦仍然是由金屬製成的cruft。

+1

而80286機器重45磅! – bobobobo 2013-05-30 15:27:55

1

雖然取消定義這個空宏實際上是無害的,我肯定會避免重複使用一些知名的宏觀......這就像只是因爲你不使用它作爲關鍵字使用goto作爲變量名...