我在工作中查看了一些 C++ 代码,偶然发现了这样的东西:
char numberlist[5000] =
"{42, 42, 42, 42, 42, 42, 42, 42, 42, \
42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, \
42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, \\
// A few more lines, all ending in double-backslash
42, 42, 42, 42, 42}";
(内容被编辑以保护它可能意味着什么)。现在,我确实知道一行末尾的单个反斜杠会吞噬下一个换行符,本质上是连接两行。但是双反斜杠?
我在这里收到警告:
警告 C4129:“”:无法识别的字符转义序列
字符串的语法突出显示在第一个双反斜杠行的末尾停止(在 VS2010 中)。会不会是反斜杠换行符首先被吃掉,然后剩余的反斜杠空格被解释为转义序列?在这里删除第二个反斜杠是否安全?