取消宏替换 (#undef)

使用 #define 注册的替换,如果在一段特定代码后不再需要,可以撤销。为此,将使用 #undef 指令。

#undef macro_identifier

如果您需要在代码的不同部分以不同的方式定义同一个宏,这是非常有用的。如果 #define 中指定的标识符已经在前面的代码行中注册过(由另一个#define 指令注册),那么旧的定义将被新的定义替换,预处理器将生成“宏重定义”警告。使用 #undef 可以避免警告,同时明确表明程序员不打算在后面的代码中使用特定的宏。

#undef 无法取消定义 预定义宏