代码之家  ›  专栏  ›  技术社区  ›  bobobobo

#define far,define near windef.h[复制]

  •  2
  • bobobobo  · 技术社区  · 14 年前

    可能重复:
    Is there a clean way to prevent windows.h from creating a near & far macro?

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

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

    我知道这和 near and far 指针和它们不再使用的事实,但是,安全吗 #undef 它们,所以我可以用 near far 作为函数名和变量名?

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

    2 回复  |  直到 14 年前
        1
  •  4
  •   Joshua Muskovitz    14 年前

    不要重复使用它们。你最不需要的就是反复向人们解释,他们不是传统的装饰品。

    如果它对你的应用程序很关键,你可以考虑使用大写版本(因为标识符区分大小写)-当你搞砸的时候,编译器会捕捉错别字。

    只需接受,这是过去电脑仍由金属制成的美好时光的产物。

        2
  •  1
  •   lornova    14 年前

    虽然取消定义这个空宏实际上是无害的,但我肯定会避免重用一些众所周知的宏…就像使用 goto 作为变量名,只是因为您没有将其用作关键字…