Logo
Section 1 / 23

简介

让我们来看看本节将涵盖的内容。

导入

简介

让我们来看看本节将涵盖的内容。

自 C++11 引入移动语义以来,传递字符串的效率已大幅提升。然而,你仍可能产生大量临时的字符串副本。在 C++17 中,引入了一种新类型 string_view。它允许你创建一个指向连续字符序列的只读、非拥有型视图。你可以对这个视图进行操作并随意传递,而无需复制所引用的数据。

尽管如此,这一特性也带来一定代价:你需要格外小心,避免出现“悬空”视图的情况,而且这类视图通常不以空字符结尾。

在本节中,你将学习:

  • 什么是 string_view?
  • 它为何能提升代码性能?
  • 使用 string_view 对象时存在哪些风险?
  • 什么是引用生命周期延长?这对 string_view 意味着什么?
  • 如何利用 string_view 使你的 API 更具通用性?

让我们从基础开始。

std::any

基础内容