std::multis...iset::crend(3)
β¨ NAME β¨
okay bestie, the name on this page is std::multiset::rend,std::multiset::crend - std::multiset::rend,std::multiset::crend, and thatβs literally the whole NAME line. iconic. this is from the C++ Standard Libary manual π
π¦ Synopsis π¦
reverse_iterator rend(); (1) (noexcept since
C++11)
const_reverse_iterator rend() const; (2) (noexcept since
C++11)
const_reverse_iterator crend() const noexcept; (3) (since C++11)
so what does it do? it returns a reverse iterator to the element following the last element of the reversed multiset. it corresponds to the element preceding the first element of the non-reversed multiset. this element acts as a placeholder, and attempting to access it results in undefined behavior. π«Ά
β οΈ warning: that placeholder is not for touching β attempting to access it results in undefined behavior. periodt.
thereβs also this diagram reference on the page: range-rbegin-rend.svg π
π Parameters π
(none) β literally no parameters, she takes nothing π
π Return value π
Reverse iterator to the element following the last element. thatβs the whole vibe π«
β Complexity β
Constant. yes bestie, constant β sheβs fast like that β¨
πΈ Notes πΈ
real talk: because both iterator and const_iterator are constant iterators (and may in fact be the same type), it is not possible to mutate the elements of the container through an iterator returned by any of these member functions. no cap, the elements are not yours to change through these iterators π
also: libc++ backports crend() to C++98 mode. cute backport moment π§
π Example π
the page says // Run this code β hereβs the code, bestie:
#include <iostream>
#include <set>
int main()
{
std::multiset<unsigned> rep{1, 2, 3, 4, 1, 2, 3, 4};
for (auto it = rep.crbegin(); it != rep.crend(); ++it)
{
for (auto n = *it; n > 0; --n)
std::cout << "βΌ" << ' ';
std::cout << '\n';
}
}
π Output π
βΌ βΌ βΌ βΌ
βΌ βΌ βΌ βΌ
βΌ βΌ βΌ
βΌ βΌ βΌ
βΌ βΌ
βΌ βΌ
βΌ
βΌ
π₯ See also π₯
rbeginβ returns a reverse iterator to the beginningcrbeginβ (public member function) (C++11)rendβ returns a reverse end iterator for a container or arraycrendβ (function template) (C++14)
source/version: http://cppreference.com, dated 2024.06.10, page std::multis...iset::crend(3) β byeee bestie, go iterate in reverse responsibly π
π«Ά
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms