我以前在學習Ç知識,我知道預處理指令一樣#include
,#define
是不是這就是爲什麼顧名思義,它是過程編譯程序之前的聲明,因此我們沒有必要在其末尾附加;
。預處理指令「使用」
在C++中,它向我介紹一個新的指令,即using
,但爲什麼這個指令會附加一個分號?我認爲這就像之前的指令,我知道它不是一個聲明?
我以前在學習Ç知識,我知道預處理指令一樣#include
,#define
是不是這就是爲什麼顧名思義,它是過程編譯程序之前的聲明,因此我們沒有必要在其末尾附加;
。預處理指令「使用」
在C++中,它向我介紹一個新的指令,即using
,但爲什麼這個指令會附加一個分號?我認爲這就像之前的指令,我知道它不是一個聲明?
using
不是預處理指令。它由編譯器正確地看到和分析。
,你常常不把;
在#define
宏結束的事實是因爲他們通過預處理器「簡單」的文本替換,如處理:
#define SOMETHING "abcd";
...
if (strcmp(thing, SOMETHING) == 0) { ... }
...
將是一個編譯器錯誤因爲編譯器會看到:
if (strcmp(thing, "abcd";) == 0) { ... }
//^invalid here
using
可以被認爲作爲一個聲明,例如像typedef
是。
您可以要求編譯器輸出預處理結果,例如:與g++ -C -E
,但沒有簡單的方法要求它輸出的效果using