std::span::end - std::span::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
Iterator to the element following the last element.
// Run this code
#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);
}
begin returns an iterator to the beginning
(C++20) (public member function)
end
cend returns an iterator to the end of a container or array
(C++11) (function template)
(C++14)