Skip to content
Related Articles

Related Articles

unordered_map cbegin in C++ STL

View Discussion
Improve Article
Save Article
  • Last Updated : 02 Jan, 2019
View Discussion
Improve Article
Save Article

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 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 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:18: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.


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!