cpp / latest / container / span / end.html /

std::span<T,Extent>::end

constexpr iterator end() const noexcept;

Returns an iterator to the element following the last element of the span.

This element acts as a placeholder; attempting to access it results in undefined behavior.

range-begin-end.svg

Parameters

(none).

Return value

Iterator to the element following the last element.

Complexity

Constant.

Example

#include <span>
#include <iostream>
 
void print(std::span<const int> sp)
{
    for(auto it = sp.begin(); it != sp.end(); ++it) {
        std::cout << *it << ' ';
    }
    std::cout << '\n';
}
 
void transmogrify(std::span<int> sp)
{
    if (!sp.empty()) {
        std::cout << *sp.begin() << '\n';
        *sp.begin() = 2;
    }
}
 
int main()
{
    int array[] { 1, 3, 4, 5 };
    print(array);
    transmogrify(array);
    print(array);
}

Output:

1 3 4 5 
1
2 3 4 5

See also

(C++20)
returns an iterator to the beginning
(public member function)
(C++11)(C++14)
returns an iterator to the end of a container or array
(function template)

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