std::multimap<Key,T,Compare,Allocator>::rbegin, std::multimap<Key,T,Compare,Allocator>::crbegin
来自 cppreference.com
reverse_iterator rbegin(); |
(1) | (自 C++11 起无异常) |
const_reverse_iterator rbegin() const; |
(2) | (自 C++11 起无异常) |
const_reverse_iterator crbegin() const noexcept; |
(3) | (自 C++11 起) |
返回指向反转后的 multimap
的第一个元素的反向迭代器。它对应于未反转的 multimap
的最后一个元素。如果 multimap
为空,则返回的迭代器等于 rend().
内容 |
[编辑] 参数
(无)
[编辑] 返回值
指向第一个元素的反向迭代器。
[编辑] 复杂度
常数。
[编辑] 说明
返回的反向迭代器的基础迭代器是结束迭代器。因此,如果结束迭代器失效,则返回的迭代器也会失效。
libc++ 将 crbegin()
反向移植到 C++98 模式。
[编辑] 示例
运行此代码
#include <algorithm> #include <iostream> #include <string> #include <map> int main() { std::multimap<std::string, int> map { {"█", 1}, {"▒", 5}, {"░", 3}, {"▓", 7}, {"▓", 8}, {"░", 4}, {"▒", 6}, {"█", 2} }; std::cout << "Print out in reverse order using const reverse iterators:\n"; std::for_each(map.crbegin(), map.crend(), [](std::pair<const std::string, int> const& e) { std::cout << "{ \"" << e.first << "\", " << e.second << " };\n"; }); map.rbegin()->second = 42; // OK: non-const value is modifiable // map.crbegin()->second = 42; // Error: cannot modify the const value }
可能输出
Print out in reverse order using const reverse iterators: { "▓", 8 }; { "▓", 7 }; { "▒", 6 }; { "▒", 5 }; { "░", 4 }; { "░", 3 }; { "█", 2 }; { "█", 1 };
[编辑] 参见
(C++11) |
返回指向结束的反向迭代器 (公共成员函数) |
(C++14) |
返回指向容器或数组开头的反向迭代器 (函数模板) |