在#defining之前,有没有理由#undefine一个未定义的宏?

时间:2018-05-07 11:10:57

标签: macros c-preprocessor

在我正在进行的项目中,我在C头文件中遇到了这些行:

#ifndef SOME_CONSTANT
    #undef SOME_CONSTANT
    #define SOME_CONSTANT          "SOME_STRING"
#endif // SOME_CONSTANT

据我了解,由于未定义宏,#undef将无效。所以它可以改写为

#ifndef SOME_CONSTANT
    #define SOME_CONSTANT          "SOME_STRING"
#endif // SOME_CONSTANT

这更简单,(对我来说)不那么令人困惑。写它是否有任何好处?

0 个答案:

没有答案