<span>

span 是一个连续对象序列的视图。 它提供快速且边界安全的访问。 与 vectorarray 不同,它不“拥有”元素。

有关详细信息,请参阅 span。 下面的示例介绍如何使用 span

#include <span>
#include <iostream>

void Show(std::span<int> someValues)
{
    // show values in reverse
    for (auto rIt = someValues.rbegin(); rIt != someValues.rend(); ++rIt)
    {
        std::cout << *rIt;
    }

    // show a subspan
    for (auto& i : someValues.subspan(1, 2))
    {
        std::cout << i;
    }
}

int main()
{
    int numbers[]{ 0,1,2,3,4 };
    Show(numbers); // note conversion from array to span
}

要求

标头<span>

命名空间std

编译器选项:/std:c++20或更高版本是必需的。

成员

“属性” 描述
span 提供连续对象序列的视图。

运算符

名称 描述
operator= 范围赋值
operator[] 元素访问

函数

名称 描述
as_bytes 获取范围的基础只读字节。
as_writable_bytes 获取范围的基础字节。

常量

名称 描述
dynamic_extent 指示范围大小在运行时确定,而不是在编译时。 如果范围中的元素数在编译时已知,则将其指定为 Extent 模板参数。 如果元素数在运行时之前未知,则改为指定 dynamic_extent

另请参阅

头文件引用