std::list<T,Allocator>::reverse - cppreference.com (original) (raw)
| void reverse(); | | (noexcept since C++11) (constexpr since C++26) | | --------------- | | ---------------------------------------------- |
Reverses the order of the elements in the container.
No references or iterators become invalidated.
[edit] Complexity
Linear in the size of the container.
[edit] Example
#include #include std::ostream& operator<<(std::ostream& ostr, const std::list& list) { for (auto& i : list) ostr << ' ' << i; return ostr; } int main() { std::list 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 |
[edit] See also
| | sorts the elements (public member function) [edit] | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |