这段代码是什么:(特别是反斜杠 ‘\’ 是什么?)
s23_foo += \
s8_foo * s16_bar;
我添加了数据类型,因为它们可能是相关的。谢谢你的帮助。
原文由 Christian 发布,翻译遵循 CC BY-SA 4.0 许可协议
这段代码是什么:(特别是反斜杠 ‘\’ 是什么?)
s23_foo += \
s8_foo * s16_bar;
我添加了数据类型,因为它们可能是相关的。谢谢你的帮助。
原文由 Christian 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
反斜杠在 C++ 中表示两种不同的东西,具体取决于上下文。
作为续行
在引号字符串(见下文)之外,
\
用作行继续符。行尾的换行符(不可见)被预处理器有效地忽略,下一行被附加到当前行。所以:
被解析为:
续行可以串在一起。这个:
变成这样:
在 C++ 中,空格在大多数情况下都无关紧要,因此在这个特定示例中,不需要续行。这应该编译得很好:
事实上,当您有很长的术语序列时,它有助于对代码进行分页。
由于预处理器处理了一个
#define
直到到达换行符,所以行继续在宏定义中最有用。例如:如果没有续行符,
FOO
将在此处为空。作为转义序列
在引号字符串中,反斜杠用作分隔符以开始 2 个字符的转义序列。例如:
在此字符串文字中,
\
开始一个转义序列,转义码为n
。\n
导致在字符串中嵌入换行符。这当然意味着如果你想要一个字符串包含\
字符,你也必须转义它:生成在屏幕上查看的字符串:
此处 记录了各种转义序列。