在 c++11 中添加了定义原始字符串的字面量
1.定义和基本使用
定义方式为:
r"xxx(原始字符串)xxx"
其中 () 两边的字符串可以省略,r只会处理括号中的字符串。
原始字面量 r 可以直接表示字符串的实际含义,而不需要额外对字符串做转义等操作。
r"("hello")"
等同于
r"(\"hello\")"可以理解为是忽略所有转义字符的一个字符串格式
#include <iostream>
using namespace std;
int main()
{
const char* s1 = r"(hello\\world)";
cout << s1 << endl;
const char* s2 = "hello\\world";
cout << s2 << endl;
return 0;
}
2.实际场景
在进行项目开发,需要用到json字符串时,这个r字符串就非常有用
rsp.body = r"({"code":0, "message":"更新点踩成功"})";我们只需要使用r字符串,就能正常编写json格式的字符串
如果不使用r字符串,就必须给json中的每一个"添加用于转义的\",大大增加了代码的繁琐性,而且还容易出现漏加转义而导致的bug
到此这篇关于c++11中r字符串的作用的文章就介绍到这了,更多相关c++11 r字符串内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论