gpt4 book ai didi

string-view - gsl::string_span 和 std::string_view 有何不同?

转载 作者:行者123 更新时间:2023-12-02 02:48:53 31 4
gpt4 key购买 nike

据我所知,gsl::string_spanstd::string_view似乎具有基本相同的使用原理。真的是这样吗?如果是这样,它们实际上是否相同?如果不是 - 它们有什么不同?

相关问题:What purpose does `gsl::string_span` aim at?

最佳答案

How do gsl::string_span and std::string_view differ?



它们的可用性差异相当明显,但我会说它,因为它很重要: gsl::string_span需要使用第三方库,而 std::string_view是标准的 C++ 类型。另一方面,图书馆提供 gsl::string_span支持 C++14,而 std::string_view需要 C++17。

一个主要的设计差异是 std::string_view是字符串的常量 View ,不提供任何修改查看字符串的方法,而 gsl::string_span确实允许非常量访问。例如:
constexpr iterator gsl::string_span::begin() const noexcept
^^^^^^^^ note non-const iterator ^^^^^ also note this

还要注意如何 gsl::string_span即使跨度本身是常量,也允许非常量访问。换句话说, gsl::string_span不传播常数。这与 std::span 相同和 gsl::span .

关于string-view - gsl::string_span 和 std::string_view 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53051430/

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