gpt4 book ai didi

c++ - 在 C++17 中没有从 std::string 到 std::string_view 的隐式转换(在 std::experimental::basic_string_view 中)

转载 作者:IT老高 更新时间:2023-10-28 22:20:34 28 4
gpt4 key购买 nike

我的问题是关于 C++17:http://en.cppreference.com/w/cpp/string/basic_string_view/basic_string_view

从 std::basic_string 到 std::basic_string_view 的隐式转换没有包含在后者的接口(interface)中的警告是什么?

我相信它会极大地提高这门课。特别是比较运算符系列,也不接受 std::string 作为 lhsrhs

library basics TS规范中有这样的转换:http://en.cppreference.com/w/cpp/experimental/basic_string_view/basic_string_view

这个问题是关于为什么它被删除的。或者说不被采纳。

最佳答案

basic_string_view 被认为是较低级别的类。字符串容器的提供者负责提供对 string_view 的隐式转换。如果你有自己的字符串类型,那么你可能会给它一个 explicit operator string_view() 重载来执行隐式转换。

因此,it was decided (PDF) basic_string 将提供到 basic_string_view 的转换。最初的 Library Fundamentals 版本将隐式转换放在 basic_string_view 上,因为 TS 通常是扩展。如果不有效地派生该类型,它就不会影响现有类型。

关于c++ - 在 C++17 中没有从 std::string 到 std::string_view 的隐式转换(在 std::experimental::basic_string_view 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39207972/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com