美文网首页
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

    C++的string_view相当于两根指针。有点类似go语言的slice。它指向一个字符串。string_vie...

  • C++ 17:string_view

    为什么要增加string_view?考虑一下这种场景,我们有一个字符串,然后我们想获取这个字符串的一个子串,然后对...

  • abel tips #1 string_view

    背景 在日常的c/c++编程中,我经常需要传递数据,比如传递常量字符数据给函数,为了减少不必要的内存拷贝,c*系列...

  • 第4篇:C++ 高效的string_view

    string对象的性能问题 了解string对象的内存分配行为后,接下来我们如何考虑使用什么方法来避免字符串频繁的...

网友评论

      本文标题:string_view

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