C++ 原始字符串 Unicode 文字

c++ raw string unicode literals

本文关键字:文字 Unicode 字符串 原始 C++      更新时间:2023-10-16

我可以简单地制作具有警报字符a或 unicodeu002f字符的原始字符串吗?
如果是,那么如何在没有的情况下进行逃逸?
如果不是,那么原始字符串是否仅用于可打印字符?我的理解是对的吗?

这是一个简单的问题,但这个网站需要更多信息,所以我只想说我阅读了大约 30 个关于 C++ 和 python 中的原始字符串的网页,以及 Stroustrup 的C++,没有找到任何句子说原始字符串仅用于可打印字符。

所有示例都使用"或真正的新行,方法是按键盘上的 Enter 键"必须已转换为文本以合并到原始字符串中>>>这是什么文字?

最后一个短语意味着当不同的作者给出普通字符串和原始字符串之间区别的示例时,他们说原始字符串可以有双引号和反斜杠而不会转义字符......

原始字符串也可以有没有符号的新行>>>这将在短信期间通过按键盘上的输入按钮完成。

但是其他不可打印的字符,如\a和Unicode代码点呢? 这就是我的问题??

所以我的问题是关于概念的,而不是关于某些代码或示例的。

再次简单地说:原始字符串是否能够包含警报字符或 unicode 代码点?
我可以将string s=u8"hello world a"转换为两个字符串末尾都出现警报声音的string s = u8R"(hello world a)"吗????

不能在原始字符串中使用任何转义字符。以下行按原样打印

std::cout << R"(taline1nline2n)"
output:
taline1nline2n

但是,您可以在同一行代码中退出原始字符串并返回。例如,以下行将使用转义字符连接原始字符串:

std::string s = "ta" u8R"(line1)" "n" R"(line2)" "n";