Unordered_map ::cend() es una función incorporada en C++ STL que devuelve un iterador que apunta a la posición más allá del elemento final en el contenedor o en uno de sus cubos. En un objeto unordered_map, no hay garantía de qué elemento específico se considere su primer elemento. Pero todos los elementos del contenedor están cubiertos ya que el rango va desde su inicio hasta su final hasta invalidarse.
Hay dos variantes de esta función.
Sintaxis-1:
unordered_map.cend()
Parámetros: Esta función no acepta ningún parámetro.
Tipo de devolución: la función devuelve un iterador al elemento más allá del final del contenedor.
// CPP program to illustrate // unordered_map cend() #include <bits/stdc++.h> using namespace std; int main() { unordered_map<int, int> ump; // inserting data into unordered_map ump[1] = 2; ump[3] = 4; ump[5] = 6; // here 'it' can not be modified for (auto it = ump.cbegin(); it != ump.cend(); ++it) cout << it->first << " " << it->second << endl; return 0; }
5 6 1 2 3 4
Sintaxis-2:
unordered_map.cend ( size n )
Parámetros: esta función acepta el tamaño del parámetro n , que debe ser inferior al número de cubos.
Tipo de devolución: la función devuelve un iterador al de su recuento de cubos.
// CPP program to illustrate // unordered_map cend() #include <bits/stdc++.h> using namespace std; int main() { unordered_map<int, int> ump; // inserting data into unordered_map ump[1] = 2; ump[3] = 4; ump[5] = 6; cout << "unordered_map bucket contains \n"; for (int i = 0; i < ump.bucket_count(); i++) { cout << "Bucket " << i << " contains "; for (auto it = ump.cbegin(i); it != ump.cend(i); ++it) cout << it->first << " " << it->second; cout << endl; } return 0; }
unordered_map bucket contains Bucket 0 contains Bucket 1 contains 1 2 Bucket 2 contains Bucket 3 contains 3 4 Bucket 4 contains Bucket 5 contains 5 6 Bucket 6 contains
¿En qué se diferencia cend() de end() ?
cend() es la versión constante de end(). De manera similar, cbegin() es una versión const de begin(). Por ejemplo, el siguiente código muestra un error del compilador porque intentamos modificar el valor en el iterador.
// CPP program to illustrate // unordered_map cend() #include <bits/stdc++.h> using namespace std; int main() { unordered_map<int, int> ump; // inserting data into unordered_map ump[1] = 2; ump[3] = 4; ump[5] = 6; // here 'it' can not be modified for (auto it = ump.cbegin(); it != ump.cend(); ++it) it->second = 10; // COMPILER ERROR return 0; }
Producción :
Compilation Error in CPP code :- prog.cpp: In function 'int main()': prog.cpp:19:20: error: assignment of member 'std::pair::second' in read-only object it->second = 10; // COMPILER ERROR
Publicación traducida automáticamente
Artículo escrito por ankit15697 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA