C++中的cbegin函数用于返回一个常量迭代器,该迭代器指向无序映射中的第一个元素。
句法:
unordered_map.cbegin()
参数:它带有一个可选参数N。如果设置,返回的迭代器将指向存储桶的第一个元素,否则将指向容器的第一个元素。
返回值:一个常量迭代器,它指向unordered_map的第一个元素。
下面的程序说明了cbegin函数的工作方式:
// CPP program to demonstrate implementation of
// cbegin function in unordered_map
#include
using namespace std;
int main()
{
unordered_map 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
using namespace std;
int main()
{
unordered_map 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++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。