文章目录
1、原生字符串定义
C/C++中提供了字符串,字符串支持转义,在某些时候给我们提供了便利,比如换行符\n,制表符\t。但在我们不需要的时候又成了麻烦,如果需要原生义的时候,需要反转义,比较麻烦。
针对这个问题,C++11提供了原生字符串,即字符串中无转义,亦无需再反义。
原生字符串的准确定义应该是:
R"自定义分隔符(字符串)自定义分隔符"
前后两处自定义分隔符必须一致,可以省略,所以我们看到的一般原生字符串为:
std::string word = R"(hello world)";
提供自定义分隔符的用意为,当你的字符串中出现)"
时,编译器会以为字符串已经终结而出错,这种场景下你可以定义自己比较独特的分隔符,如:
std::string word = R"mydel(hello )" world)mydel";
这样,编译器会将mydel(
和)mydel
中间部分提取为字符串。
#include <iostream>