我刚刚知道C++17引入了std::string_view。它不保存任何字符串,而是指向一个字符串。如果是这样的话,我对下面的情况感到困惑:
我刚刚在一些在线的C++17编译器上尝试了这段代码,以下是输出结果:
显然,
那么这是否意味着我们不应该更改已分配给
std::string str = "abc";
std::string_view strV = str;
std::cout << strV << std::endl;
str = "1";
std::cout << strV << std::endl;
我刚刚在一些在线的C++17编译器上尝试了这段代码,以下是输出结果:
abc
1c
显然,
1c
不是我预期的结果。那么这是否意味着我们不应该更改已分配给
std::string_view
的字符串?
std::string_view
。 - Galikstd::string_view
。 - Galik