cpp / latest / container / span / operator_at.html /

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

constexpr reference operator[](size_type idx) const;

Returns a reference to the idx-th 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()).

Parameters

idx - the index of the element to access

Return value

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

Exceptions

Throws nothing.

Example

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

Output:

1 2 3 4 5 
5 4 3 2 1

See also

returns a pointer to the beginning of the sequence of elements
(public member function)
returns the number of elements in the sequence
(public member function)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/container/span/operator_at