#define远,#define在Windef.h附近

bob*_*obo 5 c++ windows

可能的重复:
有没有一种干净的方法来防止windows.h创建近近宏?

Windef.h中这两个定义的意义是什么?

#define far     /* nothing */
#define near    /* nothing */
Run Code Online (Sandbox Code Playgroud)

我知道它与远近指针和不再使用它们有关,但对#undef它们安全吗,所以我可以在代码中使用nearfar作为函数和变量名?

或者,我应该简单地避免使用它,而不使用nearfar作为标识符吗?

小智 5

不要重复使用它们。你需要做的最后一件事是反复向人们解释他们不是老派的装饰品。

如果它对您的应用程序很重要,您可以考虑使用大写版本(因为标识符区分大小写)- 当您搞砸时,编译器会发现拼写错误。

只是接受这是计算机仍然由金属制成的美好时光的产物。