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

< cpp‎ | container‎ | span

constexpr reference operator[](size_type idx) const; |  |

获得到序列的第 `idx` 个元素的引用。若 `idx` 在范围外（即若它大于或等于 size() ）则行为未定义。

### 参数

idx | - | 要访问的元素的下标

### 返回值

到序列第 `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(std::span<const int> const 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

### 参阅

data | 返回指向元素序列起始的指针 (公开成员函数)
size | 返回序列中的元素数 (公开成员函数)