是否有必要在函数内使用undef宏?

lex*_*xer 4 c macros

我见过很多次这样的代码:

void func(){
  #define a ...
  ...
  #undef a
}
Run Code Online (Sandbox Code Playgroud)

#undef必要吗?

Vin*_*ura 11

没有必要,但a的范围#define在定义之后是全局的.如果你认为它会不会遵守功能范围.

  • @lexer见这里:http://ideone.com/ULYYp请注意,我甚至不调用`bar()`,还要注意我可以在`#define`之前使用名为`a`的变量. (3认同)
  • 你看过警告了吗?`prog.cpp:14:1:警告:"somevariable"重新定义 (2认同)