首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当CPP行剪接在C++0x原始字符串中取消时,是否需要一个一致的实现来保留原来的换行符序列?

当CPP行剪接在C++0x原始字符串中取消时,是否需要一个一致的实现来保留原来的换行符序列?
EN

Stack Overflow用户
提问于 2010-12-27 17:27:01
回答 2查看 458关注 0票数 6

C++0x的最新草稿,n3126说:

每个反斜杠字符()的实例后面紧跟一个新行字符,将物理源行拼接成逻辑源行。

..。

在原始字符串文本的r-char序列中,在第1和第2阶段(三元图、通用字符名称和行剪接)中执行的任何转换都将被恢复。

从技术上讲,这意味着C++预处理器只识别一个反斜杠,后面跟着换行符,但我知道一些C++实现也允许Windows或经典Mac风格的行尾。

是否需要符合C++0x的实现来在原始字符串的r-char序列中保留紧接反斜杠字符\的换行符序列?也许一个更好的问题是:人们是否希望Windows C++0x编译器用"\\\r\n"而不是"\\\n"撤销每一行拼接

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-27 17:35:51

翻译阶段1从

物理源文件字符以实现定义的方式映射到基本的源字符集(必要时引入行尾指示符的换行符)。图序列(2.3)被替换..。

我会将“第1阶段和第2阶段(三元图、通用字符名称和行拼接)中执行的任何转换”解释为显式而不是,将源文件字符转换为基本源字符集。相反,源字符稍后被转换为执行字符集,然后在那里得到换行符。

票数 4
EN

Stack Overflow用户

发布于 2010-12-27 18:38:24

如果需要特定的行结束序列,可以显式插入它,并使用字符串文本连接:

代码语言:javascript
复制
char* nitpicky = "I must have a \\r\\n line ending!\r\n"
"Otherwise, some other piece of code will misinterpret this line!";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4540499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档