std::span::operator[](3)

NAME
std::span::operator[] - std::span::operator[]

Synopsis
   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
// Run this code
 #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
   data returns a pointer to the beginning of the sequence of elements
        (public member function)
   size returns the number of elements in the sequence
        (public member function)