c++ - 在 C++ 的原始字符串中转义 R"()"

标签 c++ c++11 rawstring

  string raw_str = R"(R"(foo)")";

如果我在原始字符串中有 R"()",这会导致解析器混淆。 (即,它认为最左边的 )" 是原始字符串的结尾。

我如何避免这种情况?

最佳答案

raw-string literals 的格式[ 2 ] 是:R"delimiter( raw_characters )delimiter"

因此您可以使用不在字符串中的不同定界符,例如:

string raw_str = R"~(R"(foo)")~";

关于c++ - 在 C++ 的原始字符串中转义 R"()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49416631/

相关文章:

c++ - 为什么析构函数构造的两个对象被调用三次

python - 如何同时使用多个字符串文字

python - 如何在 Python 中获取字符串的原始表示形式?

regex - Racket 原弦

c++ - 在特定时间后唤醒线程

C++ - 不支持非平凡的指定初始值设定项

c++ - 在C++中第n次继承后停止从基类继承

c++ - 教程c++引用参数问题

c++ - 如何实现最简单的 C++ 可调用对象包装器?

c++ - 类型名和范围运算符的语法错误