La función cbegin en c ++ se usa para devolver un iterador constante que apunta al primer elemento en un mapa desordenado.
Sintaxis:
unordered_map.cbegin()
Parámetro : Toma un parámetro opcional N. Si se establece, el iterador devuelto apuntará al primer elemento del depósito; de lo contrario, apuntará al primer elemento del contenedor.
Valores devueltos : un iterador constante que apunta al primer elemento de unordered_map.
El siguiente programa ilustra el funcionamiento de la función 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"; }
Producción:
Contents of the unordered_map : s==>>5 k==>>4 g==>>1 e==>>2
La función cbegin() devuelve un iterador constante. Si intentamos cambiar el valor, obtenemos un error de compilación.
// 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 }
Producción :
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 ^
Complejidad de Tiempo: O(1) en promedio.