在我正在进行的项目中,我在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
这更简单,(对我来说)不那么令人困惑。写它是否有任何好处?