[c++]字符串
2021/04
29
20:04
原始字符串字面量以R”( 开头,以 )” 结尾
const char* str = R”( Hello “World”)”;
例如const char* p1= “Line1\nLine2”;
可以等价为
const char* p1 = R”(Line1
Line2)”;
默认为(和)为字面量语法,也可以扩展原始字符串字面量语法
R”X( …. )X”
例如
const char* str = R”-(Embedded )” characters)-“;
// std::to_string 提供了数值向字符串转换的内建函数
auto s = std::to_string(102);
// 还有
std::atoi, stoi, stol, stod …
// 可以使用to_chars进行一些低级数值转换
std::to_chars(…
std::from_chars(…
std::string_view类
在C++17之前,混用const char* 和 std::string是非常痛苦的,或者添加const std::string&,并不优雅
C++17引用了std::string_view类,它不复制字符串,支持与std::string类似的接口,缺少c_str()但是支持data();
using namespace std::string_view_literals;
或者 using namespace std;
auto sv = “hello world”sv;
此特性需要支持C++17特性
VS2019默认没有打开C++17,需要手工打开