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

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

24得票1回答
std::string_view字面值保证以空字符结尾吗?

我知道普通的 std::string_view 不能保证以空字符结尾。但是,我不确定 std::string_view 文字常量是否保证以空字符结尾。 例如:#include <string_view> using namespace std::literals; int m...

21得票1回答
替换全局常量字符数组为constexpr string_view有什么需要注意的地方吗?

我们的团队正在使用一个超过10年的C++代码库,并且最近切换到了C++17编译器。因此,我们正在寻找现代化我们的代码的方法。在YouTube上的一次会议讲座中,我听说建议用constexpr string_view替换const char*全局字符串。 由于我们的代码中有很多这样的const...

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

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

19得票1回答
为什么std::string没有一个直接接收std::string_view的构造函数?

为了允许从std::string_view构造std::string,有一个模板构造函数。 template<class T> explicit basic_string(const T& t, const Allocator& alloc = Allocator...

19得票1回答
返回const std::string&的方法是否应该改为返回const std::string_view?

假设我们在一个类中有一个简单的getter方法,该方法返回一个指向std::string成员的const引用:const std::string& getString() const noexcept { return someString; } 随着C++17中std::string...

17得票1回答
如何将一个std::string切割成一系列(v3)的std::string_views?

我需要在所有空格处分割一个 std::string。然而,结果范围应该将其元素转换为 std::string_view。我正在处理范围的“元素类型”。我猜想,该类型类似于 c_str。如何将“分割”部分转换为 string_view?#include <string> #inclu...

17得票2回答
将string_view转换为string是否合法

我的问题是受到stackoverflow上这个答案的启发,链接如下:https://dev59.com/tFYN5IYBdhLWcg3wCELa#48082010。引用如下: 问:如何将std::string_view转换为const char*? 答:只需使用std::string(str...

16得票2回答
为什么要使用string_view而不是通用的container_view<T>?

我发现新的C++17标准中的string_view有点冗余。 我们已经有了一系列简单机制将数据传递给被调用者,而且没有太多的开销,现在又出现了另一个仅适用于一种容器类型的机制。 我不明白为什么只为字符串提供这种机制,而不是为其他容器提供更普遍的类型。一个合理的答案是我们已经有了这些解决方案...

16得票1回答
当传递临时的std::string时,string_view的行为是什么?

我刚遇到了一些误解:至少在libc++实现中,std::experimental::string_view有以下简洁的实现:template &lt;class _CharT, class _Traits....&gt; class basic_string_view { public: ...