Namespaces
Variants

std::span<T,Extent>:: operator[]

From cppreference.net
constexpr reference operator [ ] ( size_type idx ) const ;
(自 C++20 起)

返回序列中第 idx 元素的引用。

idx < size ( ) false ,则行为未定义。

(C++26 前)

idx < size ( ) false

  • 若实现为 强化实现 ,则发生 契约违规 。此外,若契约违规处理程序在“观察”评估语义下返回,则行为未定义。
  • 若实现非强化实现,则行为未定义。
(C++26 起)

目录

参数

idx - 要访问的元素的索引

返回值

data ( ) [ idx ]

异常

不抛出任何异常。

示例

#include <cstddef>
#include <iostream>
#include <span>
#include <utility>
void reverse(std::span<int> span)
{
    for (std::size_t i = 0, j = std::size(span); i < j; ++i)
    {
        --j;
        std::swap(span[i], span[j]);
    }
}
void print(const std::span<const int> span)
{
    for (int element : span)
        std::cout << element << ' ';
    std::cout << '\n';
}
int main()
{
    int data[]{1, 2, 3, 4, 5};
    print(data);
    reverse(data);
    print(data);
}

输出:

1 2 3 4 5
5 4 3 2 1

参见

(C++26)
访问指定元素(带边界检查)
(公开成员函数)
直接访问底层连续存储
(公开成员函数)
返回元素数量
(公开成员函数)
span 转换为其底层字节的视图
(函数模板)