如何创建包含原始字符串终止符的C++原始字符串?

5

我使用 R"(...)" 来定义原始字符串,但是,如果该字符串实际上包含了一个原始字符串终止符 )",编译器会报错。

例如:

auto tag = R"("(add)")"; // try to get string <"(add)">

我该如何修改它使其正常工作?
1个回答

10

原始字符串字面量的语法大致如下:

R"<delim>(...)<delim>"

括号旁边的可选分隔符就是为了应对你刚刚遇到的情况。它可以让你在字面量中包含原始字符串的控制字符。因此,请添加一个分隔符:

auto tag = R"tag("("add")")tag"; 

4
我一直喜欢分隔符 xyzzy :-) - paxdiablo
@paxdiablo,什么是xyzzy - Joseph D.
3
@codekaizer - xyzzy. - StoryTeller - Unslander Monica

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接