7得票1回答
从空的vector<char>构造std::string_view是否合法?

我阅读了一些问题和文档,我猜答案是肯定的,因为 string_view 永远不会触碰指向的内容,但我还是有点困惑这是否合法: std::vector&lt;char&gt; v; std::string_view sv(v.data(), v.size()); 注意: 我知道仅使用 ...

7得票2回答
将字符串隐式转换为string_view

void Foo1(string_view view) { ... } string str = "one two three"; Foo1("one two three"); // Implicitly convert char* to string_view Foo1(str); ...

8得票1回答
从一组字符构建一个 string_view

span可以从一个范围构造,但string_view不能从一系列字符构造。 因此,例如,需要使用以下代码: // assume chars_span is a span of chars std::cout &lt;&lt; std::string_view(chars_span.data...

26得票4回答
使用std :: string_view与需要空终止字符串的API

我有一个接受std::string_view参数的方法,它使用一个以空字符结尾的字符串作为参数的函数。例如:void stringFunc(std::experimental::string_view str) { some_c_library_func(/* Expects null...

135得票2回答
为什么不支持将std::string和std::string_view连接起来?

自从C++17之后,我们拥有了 std::string_view ,它是一种轻量级的字符序列视图,避免不必要的数据复制。现在通常建议使用std::string_view代替const std::string&amp;参数。 然而,很快就会发现,从const std::string&amp;切换...

20得票1回答
为什么在三元表达式中使用std::string_view会创建一个悬空视图?

考虑一种方法,该方法从返回const std::string&amp;方法或空字符串中返回std::string_view。令人惊讶的是,以这种方式编写方法将导致悬空字符串视图:const std::string&amp; otherMethod(); std::string_view my...

8得票4回答
如何在编译时创建一个包含一系列字符串视图的constexpr数组?

我想创建一个 constexpr std::array&lt;std::string_view, ConstexprNumber&gt;。例如,它应该包含以下 constexpr std::strings_view's: "text0","text1","text2",..... "text...

15得票3回答
正确的方式打印 std::string_view 是什么?

我刚接触C++17和std::string_view,了解到它们不是以空字符结尾的字符串类型,必须小心处理。 这样printf()一个字符串是否正确?#include&lt;string_view&gt; #include&lt;cstdio&gt; int main() { std...

24得票2回答
如何将std::string_view转换为double?

我正在为一个应用程序编写一个自定义选项文件的C++解析器。我有一个循环,从文本文件中读取形如option=value的行,其中value必须转换为double。伪代码如下:while(not EOF) statement &lt;- read_from_file useful_...

8得票3回答
为什么std :: string_view比const char *更快?

我是否在测量其他内容? 这段代码中有一个标签堆栈(整数)。每个标签都有一个字符串表示形式(const char* 或 std::string_view)。 在循环中,堆栈值被转换为相应的字符串值。这些值被追加到预分配的字符串或者赋值给数组元素。 结果显示,使用std::string_vie...