http://blog.csdn.net/lefter1986/article/details/8562798點(diǎn)擊打開鏈接
在Visual Studio2008中編寫如下代碼:
[cpp] view plain copy PRint?#include <iostream> using namespace std; int main() { #define MODI 10 cout << MODI << endl; #undef MODI cout << MODI + 1 << endl; return 0; } 編譯器會(huì)對(duì) cout << MODI + 1 << endl;這行語(yǔ)句報(bào)錯(cuò)。原因就是#undef起的作用:
當(dāng)用完一個(gè)宏,比如MODI,不希望下面的代碼再用到這個(gè)MODI,,那么就可以#undef它,那么下面如果再用到了MODI這個(gè)宏,編譯器就會(huì)報(bào)錯(cuò)。
一種常用做法為:
[cpp] view plain copy print?#define MAX 50 #include "common.h" #undef MAX
這樣就只有在common.h中才能使用宏MAX。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注