C++11——原始字面量
原始字面量:在R “xxx(raw string)xxx” 中,原始字符串必须用括号()括起来,括号的前后可以加其他字符串,
所加的字符串会被忽略,但是必须加的是一模一样的前面abb 后面也得abb
string a = "\yyy";
string b = R"(\yyy)";
string c = R"aaa(\yyy)aaa";
//string d = R"aaa(\yyy)bbb"; //报错了 R"XXX(aaaa)XXX" 应该左右对称
这里 我们可以看到a字符串中\y = y
\不见了 如果你要\yyy 你就要赋值为\\yyy
但是当你使用原始字面量的时候!
你只要在用个R"XX()XX" 就可以直接把里面的直接输出! 特殊的字符也是!
比如!\n
string g = R"(\n)"; cout << g << endl;
输出结果
首先我们先了解下
C++字符串太长有两种方式分行写
1.使用""
2.使用\
string e = "456" "deded" "45787" "45455" "45455"; cout << e << endl; string f = "456\ deded"; cout << f << endl;
输出结果
但是!要是想行岂不是每个后面都要加\n 暴风哭泣
但是 当我们使用原始字面量的话!
string d = R"(456 deded 45787 45455 45455)"; cout << d << endl;
简直不要太舒服