不枉初心,砥砺前行

皮皮祥的博客

欢迎留言,评论

导航

宏定义 undef

http://blog.csdn.net/lefter1986/article/details/8562798点击打开链接

在Visual Studio2008中编写如下代码:

     #include <iostream>  
    using namespace std;  

    int main()  
    {  
    #define MODI 10  
        cout << MODI << endl;  
    #undef MODI  
        cout << MODI + 1 << endl;  
        return 0;  
    }  

编译器会对 cout << MODI + 1 << endl;这行语句报错。

原因就是#undef起的作用:

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

一种常用做法为:

    #define MAX 50  
    #include "common.h"  
    #undef  MAX  

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

#undef就是取消一个宏的定义,之后这个宏所定义的就无效;

posted on 2022-06-14 14:43  皮皮祥  阅读(164)  评论(0编辑  收藏  举报