unordered_map cbegin in C++ STL

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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";
}

chevron_right


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.

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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
}

chevron_right


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

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.