C++0x 的最新草案 n3126 说:
每个反斜杠字符 (\) 的实例后面紧跟一个换行符被删除,拼接物理源代码行以形成逻辑源代码行。
...
在原始字符串文字的r-char-sequence中,在阶段 1 和 2(三元组、通用字符名称和行拼接)中执行的任何转换都将被还原。
从技术上讲,这意味着 C++ 预处理器只能识别后跟换行符的反斜杠,但我知道一些 C++ 实现也允许 Windows 或经典 Mac 风格的行结尾。
\
是否需要符合 C++0x 的实现来保留原始字符串的 r-char-sequence 中紧跟反斜杠字符的换行符序列?也许一个更好的问题是:Windows C++0x 编译器是否可以使用"\\\r\n"
而不是撤消每一行拼接"\\\n"
?