std::span<T,Extent>::back - cppreference.com (original) (raw)

| constexpr reference back() const; | | (since C++20) | | --------------------------------- | | ------------- |

Returns a reference to the last element in the span.

If empty() is true, the behavior is undefined. (until C++26)
If empty() is true: If the implementation is hardened, a contract violation occurs. Moreover, if the contract-violation handler returns under “observe” evaluation semantic, the behavior is undefined. If the implementation is not hardened, the behavior is undefined. (since C++26)

[edit] Return value

A reference to the back element.

[edit] Complexity

Constant.

[edit] Notes

For a span c, the expression c.back() is equivalent to *(c.end() - 1).

[edit] Example

#include #include   void print_forward(const std::span span) { for (auto n{span.size()}; n != 0; --n) std::cout << span.last(n).front() << ' '; std::cout << '\n'; }   void print_backward(const std::span span) { for (auto n{span.size()}; n != 0; --n) std::cout << span.first(n).back() << ' '; std::cout << '\n'; }   int main() { constexpr int numbers[]{0, 1, 2, 3, 4}; print_forward(numbers); print_backward(numbers); }

Output:

[edit] See also

| | access the first element (public member function) [edit] | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |