C++0x的最新草稿,n3126说:
每个反斜杠字符()的实例后面紧跟一个新行字符,将物理源行拼接成逻辑源行。
..。
在原始字符串文本的r-char序列中,在第1和第2阶段(三元图、通用字符名称和行剪接)中执行的任何转换都将被恢复。
从技术上讲,这意味着C++预处理器只识别一个反斜杠,后面跟着换行符,但我知道一些C++实现也允许Windows或经典Mac风格的行尾。
是否需要符合C++0x的实现来在原始字符串的r-char序列中保留紧接反斜杠字符\的换行符序列?也许一个更好的问题是:人们是否希望Windows C++0x编译器用"\\\r\n"而不是"\\\n"撤销每一行拼接
发布于 2010-12-27 17:35:51
翻译阶段1从
物理源文件字符以实现定义的方式映射到基本的源字符集(必要时引入行尾指示符的换行符)。图序列(2.3)被替换..。
我会将“第1阶段和第2阶段(三元图、通用字符名称和行拼接)中执行的任何转换”解释为显式而不是,将源文件字符转换为基本源字符集。相反,源字符稍后被转换为执行字符集,然后在那里得到换行符。
发布于 2010-12-27 18:38:24
如果需要特定的行结束序列,可以显式插入它,并使用字符串文本连接:
char* nitpicky = "I must have a \\r\\n line ending!\r\n"
"Otherwise, some other piece of code will misinterpret this line!";https://stackoverflow.com/questions/4540499
复制相似问题