前端之家收集整理的这篇文章主要介绍了
c预处理器 – 取消定义类似功能的宏,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在C/C++中有两种类型的宏:
#define ABC /* usual */
UND
#define FUNC(a) /*function-like*/
但是我怎么不定义他们?
更新:所以没有区别“定常的宏”和“类似宏的功能”?
#undef ABC
#undef FUNC
效果就好像你从来没有一个特定标识符的#define.请注意,#define不尊重范围,所以最好只在需要时使用它们.
另外请注意,如果一个宏标识符使用“通常”语法,而另一个使用“类似函数”的语法则无关紧要. #define ABC和#define ABC(A)都定义了一个名为ABC的宏.如果你有两个,没有#undefing其中之一,最新的一个“覆盖”另一个. (如果发生这种情况,一些编译器可能会发出警告)
原文链接:https://www.f2er.com/c/114327.html