unordered_map cbegin in C++ STL (original) (raw)
Last Updated : 2 Jan, 2019
cbegin function in c++ is used to return a constant iterator pointing the first element in an unordered map.Syntax:
unordered_map.cbegin()
Parameter: It takes an optional parameter N. If set, the iterator returned will point to the first element of the bucket otherwise it point to the first element of the container.Return values: A constant iterator pointing to the first element of the unordered_map. Below program illustrate the working of cbegin function:
CPP `
// 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";}
`
Output:
Contents of the unordered_map : s==>>5 k==>>4 g==>>1 e==>>2
The cbegin() function returns a constant iterator. If we try to change value, we get compiler error.
CPP `
// 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}
`
Output :
prog.cpp: In function 'int main()': prog.cpp🔞20: error: assignment of member 'std::pair, int>::second' in read-only object it->second = 10; // This would cause compiler error ^
Time Complexity: O(1) on average.