16

我最近看到了 C++ 代码块,其中每个分号后面都有一个“\”。我觉得这很奇怪。也许这只不过是一个错误或一些长期被遗忘的评论的残余(尽管那些有一个正斜杠“/”)。这个“\”对代码有什么影响?

她是一个代码示例。

#define PE_DECLARE_CLASS(class_) \
typedef class_ MyClass; \
static void setSuperClasses(); \
4

1 回答 1

26

反斜杠作为一行中的最后一个字符会导致该行与下一行连接以进行预处理。对于常规 C++ 解析换行符只是空格,所以这无关紧要。但是预处理器指令,特别是宏定义在行尾结束。

使用反斜杠续行允许跨多个源文本行格式化长宏主体。

于 2013-01-28T20:13:12.540 回答