std::list<T,Allocator>::reverse
From cppreference.com
void reverse(); |
(noexcept since C++11) | |
Reverses the order of the elements in the container. No references or iterators become invalidated.
Parameters
(none)
Return value
(none)
Complexity
Linear in the size of the container.
Example
Run this code
#include <iostream> #include <list> std::ostream& operator<<(std::ostream& ostr, const std::list<int>& list) { for (auto& i : list) ostr << ' ' << i; return ostr; } int main() { std::list<int> list = {8, 7, 5, 9, 0, 1, 3, 2, 6, 4}; std::cout << "initially: " << list << '\n'; list.sort(); std::cout << "ascending: " << list << '\n'; list.reverse(); std::cout << "descending:" << list << '\n'; }
Output:
initially: 8 7 5 9 0 1 3 2 6 4 ascending: 0 1 2 3 4 5 6 7 8 9 descending: 9 8 7 6 5 4 3 2 1 0
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 1207 | C++98 | it was unclear whether iterators and/or references will be invalidated | keep valid |
See also
sorts the elements (public member function) |