📅  最后修改于: 2023-12-03 15:13:56.731000             🧑  作者: Mango
unordered_map是C++ Standard Library(STL)中的一种关联容器,它提供了一种以键值对的方式存储和访问元素的能力。unordered_map使用哈希表的数据结构,因此查找和插入操作的平均复杂度为O(1),是一种高效的数据结构。
unordered_map中的成员函数cbegin
是一个迭代器,它指向unordered_map容器中第一个元素的位置(常量迭代器)。下面是使用cbegin
函数的示例代码:
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> myMap = {{1, "foo"}, {2, "bar"}, {3, "baz"}};
// 使用cbegin获取unordered_map容器的常量迭代器
auto it = myMap.cbegin();
// 输出第一个键值对
std::cout << "First element: " << it->first << " -> " << it->second << std::endl;
return 0;
}
输出结果:
First element: 1 -> foo
在上述代码中,我们创建了一个包含三个键值对的unordered_map容器myMap
。然后,我们使用cbegin
函数获取了unordered_map的常量迭代器,并将其赋值给变量it
。接着,我们使用迭代器it
来访问第一个键值对的键和值,并将其输出到控制台。
cbegin
返回的迭代器是一个常量迭代器,意味着我们只能使用该迭代器来读取unordered_map的元素,不能对其进行修改。如果希望对unordered_map进行修改,可以使用begin
函数获取普通迭代器。
请注意,cbegin
函数是C++11引入的,并且只在C++11及更高版本中可用。
这是使用cbegin
函数的unordered_map的介绍,它允许我们在不修改unordered_map的情况下进行元素访问。在实际开发中,了解并合理使用STL中的各种函数和容器,可以提高程序的效率和可读性。