car*_*995 0 c++ c-preprocessor preprocessor-directive
我以前在学习知识Ç,我知道预处理指令一样#include,#define是不是这就是为什么顾名思义,它是过程编译程序之前的声明,因此没有必要为我们追加;在结束它.
在C++中,它向我介绍了一个新的指令using,但为什么这个指令会附加一个分号?我认为这就像我之前的指令,我知道它不是一个声明?
using不是预处理器指令.它由编译器正确看待和分析.
您经常不在宏;的末尾放置的事实#define是因为它们被预处理器处理为"简单"文本替换,例如:
#define SOMETHING "abcd";
...
if (strcmp(thing, SOMETHING) == 0) { ... }
...
Run Code Online (Sandbox Code Playgroud)
将是编译器错误,因为编译器会看到:
if (strcmp(thing, "abcd";) == 0) { ... }
// ^ invalid here
Run Code Online (Sandbox Code Playgroud)