2010-06-15 81 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作为变量名...