std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>::begin, std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>::cbegin
来自cppreference.com
< cpp | container | unordered multimap
iterator begin()noexcept; | (1) | (C++11 起) (C++26 起为 constexpr) |
const_iterator begin()constnoexcept; | (2) | (C++11 起) (C++26 起为 constexpr) |
const_iterator cbegin()constnoexcept; | (3) | (C++11 起) (C++26 起为 constexpr) |
返回指向 *this 的首元素的迭代器。
如果 *this 为空,那么返回的迭代器等于 end()。
目录 |
[编辑]返回值
指向首元素的迭代器。
[编辑]复杂度
常数。
[编辑]示例
运行此代码
#include <algorithm>#include <cassert>#include <iostream>#include <string>#include <utility>#include <unordered_map> int main(){auto show_node =[](conststd::pair<std::string, std::string>& node){std::cout<< node.first<<" : "<< node.second<<'\n';}; std::unordered_multimap<std::string, std::string> lemmas;assert(lemmas.begin()== lemmas.end());assert(lemmas.cbegin()== lemmas.cend()); lemmas.insert({"1. ∀x ∈ N ∃y ∈ N", "x ≤ y"}); show_node(*lemmas.cbegin());assert(lemmas.begin()!= lemmas.end());assert(lemmas.cbegin()!= lemmas.cend()); lemmas.begin()->second ="x < y"; show_node(*lemmas.cbegin()); lemmas.insert({"2. ∀x, y ∈ N ", "x = y V x ≠ y"}); show_node(*lemmas.cbegin()); lemmas.insert({"3. ∀x ∈ N ∃y ∈ N", "y = x + 1"}); show_node(*lemmas.cbegin()); std::cout<<"Lemmas: \n";std::for_each(lemmas.cbegin(), lemmas.cend(), [&](constauto& n){ show_node(n);});std::cout<<'\n';}
可能的输出:
1. ∀x ∈ N ∃y ∈ N : x ≤ y 1. ∀x ∈ N ∃y ∈ N : x < y 2. ∀x, y ∈ N : x = y V x ≠ y 3. ∀x ∈ N ∃y ∈ N : y = x + 1 Lemmas: 3. ∀x ∈ N ∃y ∈ N : y = x + 1 1. ∀x ∈ N ∃y ∈ N : x < y 2. ∀x, y ∈ N : x = y V x ≠ y
[编辑]参阅
返回指向末尾的迭代器 (公开成员函数) | |
(C++11)(C++14) | 返回指向容器或数组起始的迭代器 (函数模板) |