c ++中的cbegin函数用于返回一个常量迭代器,该迭代器指向无序映射中的第一个元素。
用法:
unordered_map.cbegin()
参数:它带有一个可选参数N。如果设置,返回的迭代器将指向存储桶的第一个元素,否则将指向容器的第一个元素。
返回值:指向unordered_map的第一个元素的常量迭代器。
以下示例程序旨在说明cbegin函数的工作方式:
// CPP program to demonstrate implementation of
// cbegin function in unordered_map
#include <bits/stdc++.h>
using namespace std;
int main()
{
unordered_map<string, int> mp;
// Adding some elements in the unordered_map
mp["g"] = 1;
mp["e"] = 2;
mp["k"] = 4;
mp["s"] = 5;
cout << "Contents of the unordered_map:\n";
for (auto it = mp.cbegin(); it != mp.cend(); it++)
cout << it->first << "==>>"
<< it->second << "\n";
}
输出:
Contents of the unordered_map: s==>>5 k==>>4 g==>>1 e==>>2
cbegin()函数返回常量迭代器。如果尝试更改值,则会出现编译器错误。
// CPP program to demonstrate implementation of
// cbegin function in unordered_map
#include <bits/stdc++.h>
using namespace std;
int main()
{
unordered_map<string, int> mp;
// Adding some elements in the unordered_map
mp["g"] = 1;
mp["e"] = 2;
mp["k"] = 4;
mp["s"] = 5;
cout << "Contents of the unordered_map:\n";
for (auto it = mp.cbegin(); it != mp.cend(); it++)
it->second = 10; // This would cause compiler error
}
输出:
prog.cpp:In function 'int main()': prog.cpp:18:20:error:assignment of member 'std::pair, int>::second' in read-only object it->second = 10; // This would cause compiler error ^
时间复杂度:平均O(1)。
相关用法
- C++ forward_list cbegin()用法及代码示例
- C++ deque cbegin()用法及代码示例
- C++ unordered_multimap cbegin()用法及代码示例
- C++ unordered_multiset cbegin()用法及代码示例
- C++ map cbegin()、cend()用法及代码示例
- C++ set cbegin()、cend()用法及代码示例
- C++ unordered_set cbegin()用法及代码示例
- C++ list cbegin()、cend()用法及代码示例
- C++ multiset cbegin()、cend()用法及代码示例
- C++ array::cbegin()、array::cend()用法及代码示例
- C++ multimap::cbegin()、multimap::cend()用法及代码示例
- C++ vector::cbegin()、vector::cend()用法及代码示例
- Node.js fs.statSync()用法及代码示例
注:本文由纯净天空筛选整理自DrRoot_大神的英文原创作品 unordered_map cbegin in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。