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

Returns a reference to the idxth element of the sequence. The behavior is undefined if idx is out of range (i.e., if it is greater than or equal to size()).

# Declarations

constexpr reference operator[]( size_type idx ) const;

(since C++20)

# Parameters

# Return value

A reference to the idxth element of the sequence, i.e., data()[idx].

# Example

#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);
}

# See also