#undef 的用法及其意义


[cpp]  view plain  copy
 
  1. #include <iostream>  
  2. using namespace std;  
  3.   
  4. int main()  
  5. {  
  6. #define MODI 10  
  7.     cout << MODI << endl;  
  8. #undef MODI  
  9.     cout << MODI + 1 << endl;  
  10.     return 0;  
  11. }  
编译器会对 cout << MODI + 1 << endl;这行语句报错。

原因就是#undef起的作用:

当用完一个宏,比如MODI,不希望下面的代码再用到这个MODI,,那么就可以#undef它,那么下面如果再用到了MODI这个宏,编译器就会报错。

一种常用做法为:

[cpp]  view plain  copy
 
  1. #define MAX 50  
  2. #include "common.h"  
  3. #undef  MAX  

这样就只有在common.h中才能使用宏MAX。

猜你喜欢

转载自blog.csdn.net/baiyibin0530/article/details/80117187
今日推荐