美文网首页
string_view

string_view

作者: 胜果铺子 | 来源:发表于2021-12-28 12:53 被阅读0次

    C++的string_view相当于两根指针。有点类似go语言的slice。它指向一个字符串。string_view相比string的好处就是避免了传递字符串的拷贝,取substr的操作只要O(1)的时间复杂度。那么string_view的相等又是如何判断的呢?

    #include <iostream>
    
    using namespace std;
    
    int main() {
      string_view s{"hello"};
      string_view t{"hello"};
      string h = "hello";
      cout << (s == t) << " ";
      cout << (s == h);
      return 0;
    }
    

    string_view和另一个string_view比,只要内容相等就相等,不必管他们的地址。string_view与string比较,也是一样,只要内容相等。

    如何从子字符串创建string_view呢?不能——得先创建sv,再取字符串。

    std::string s = "hello world!";
    std::string_view v = std::string_view(s).substr(6, 5);
    

    相关文章

      网友评论

          本文标题:string_view

          本文链接:https://www.haomeiwen.com/subject/cwdpqrtx.html