C ++代码中反斜杠的作用是什么,不在文件系统或字符串转义中

时间:2017-05-23 02:00:23

标签: c++

在阅读代码时,我有时会遇到在方法体内或在define语句中使用的反斜杠。我一直在寻找,但我无法弄清楚它的作用。我试图包含一个片段,但它太乱了,无法理解。我在第113-137行询问\

https://github.com/DarthTon/Blackbone/blob/master/src/BlackBone/Process/RPC/RemoteFunction.hpp

3 个答案:

答案 0 :(得分:2)

这些是反斜杠,而不是正斜杠。它们用于表示#define跨越多行,而不是在第一个换行符结束。

请参阅:Multi line preprocessor macros

答案 1 :(得分:0)

在您的示例链接中,请注意以#define...开头的行 116

116 - 136 每个都有你提到的尾随反斜杠。它们在每行源的末尾转义换行序列,有效地将下一行(就预处理器而言)与前一行结合起来。

因此,净影响是 116 137 的行看起来像预处理器的一条长行,这是#define DECLPFN...在一个上定义所必需的(虚拟)线,也保持可读性。

答案 2 :(得分:0)

一行末尾的反斜杠\表示当前行的续行符合以下行。在引用的特定情况下,它被用于允许预处理器宏的多行表达。预处理器要求在一行中完全定义宏。这可能使长宏定义难以理解;因此,换行符后缀为\,以使预处理器能够正常工作,同时允许程序员可以读取文本。