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

参阅

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