C++ 中的 unordered_map begin() 函数
unordered_map::begin() 是 C++ STL 中的一种内置函数,它返回指向 unordered_map 容器中第一个元素或其任意 bucket 中第一个元素的迭代器。
- unordered_map 容器第一个元素的语法:
unordered_map_.begin()
参数: 此函数不接受任何参数。
返回值: 该函数返回指向 unordered_map 容器中第一个元素的迭代器。
注意: 在 unordered_map 中,没有明确的特定元素被视为第一个元素。
下面的程序示例说明了上述函数。
// CPP program to demonstrate the
// unordered_map::begin() function
// when first element of the container
// is to be returned as iterator
#include <bits/stdc++.h>
using namespace std;
int main()
{
// 声明
unordered_map<std::string, std::string> mymap;
// 初始化
mymap = { { "Australia", "Canberra" },
{ "U.S.", "Washington" },
{ "France", "Paris" } };
// 指向 unordered_map 中第一个元素的迭代器
auto it = mymap.begin();
// 打印 map 中第一个元素
cout << it->first << " " << it->second;
return 0;
}
输出:
France Paris
- unordered_map bucket 中第一个元素的语法:
unordered_map_.begin( n )
参数: 该函数接受一个必选参数 n ,该参数指定要返回其第一个元素迭代器的 bucket 编号。
返回值: 该函数返回指向第 n 个 bucket 中第一个元素的迭代器。
下面的程序示例说明了上述函数。
// CPP program to demonstrate the
// unordered_map::begin() function
// when first element of n-th container
// is to be returned as iterator
#include <bits/stdc++.h>
using namespace std;
int main()
{
// 声明
unordered_map<std::string, std::string> mymap;
// 初始化
mymap = { { "Australia", "Canberra" },
{ "U.S.", "Washington" }, { "France", "Paris" } };
// 指向第 n 个 bucket 中第一个元素的迭代器
auto it = mymap.begin(0);
// 打印第 n 个 bucket 中的元素
cout << it->first << " " << it->second;
return 0;
}
输出:
U.S. Washington