std::unordered_map<Key,T,Hash,KeyEqual,Allocator>:: begin, std::unordered_map<Key,T,Hash,KeyEqual,Allocator>:: cbegin
From cppreference.net
<
cpp
|
container
|
unordered map
|
iterator begin
(
)
noexcept
;
|
(1) |
(depuis C++11)
(constexpr depuis C++26) |
|
const_iterator begin
(
)
const
noexcept
;
|
(2) |
(depuis C++11)
(constexpr depuis C++26) |
|
const_iterator cbegin
(
)
const
noexcept
;
|
(3) |
(depuis C++11)
(constexpr depuis C++26) |
Retourne un itérateur vers le premier élément de * this .
Si * this est vide, l'itérateur retourné sera égal à end() .
Table des matières |
Valeur de retour
Itérateur vers le premier élément.
Complexité
Constante.
Exemple
Exécuter ce code
#include <cmath> #include <iostream> #include <unordered_map> struct Node { double x, y; }; int main() { Node nodes[3] = {{1, 0}, {2, 0}, {3, 0}}; // mag est une table de hachage associant l'adresse d'un Node à sa magnitude dans le plan std::unordered_map<Node*, double> mag = { { nodes + 0, 1 }, { nodes + 1, 2 }, { nodes + 2, 3 } }; // Modifier chaque coordonnée y de 0 à la magnitude for (auto iter = mag.begin(); iter != mag.end(); ++iter) { auto cur = iter->first; // pointeur vers Node cur->y = mag[cur]; // aurait pu utiliser cur->y = iter->second; } // Mettre à jour et afficher la magnitude de chaque nœud for (auto iter = mag.begin(); iter != mag.end(); ++iter) { auto cur = iter->first; mag[cur] = std::hypot(cur->x, cur->y); std::cout << "La magnitude de (" << cur->x << ", " << cur->y << ") est "; std::cout << iter->second << '\n'; } // Répéter ce qui précède avec la boucle for basée sur les intervalles for (auto i : mag) { auto cur = i.first; cur->y = i.second; mag[cur] = std::hypot(cur->x, cur->y); std::cout << "La magnitude de (" << cur->x << ", " << cur->y << ") est "; std::cout << mag[cur] << '\n'; // Notez qu'à la différence de std::cout << iter->second << '\n'; ci-dessus, // std::cout << i.second << '\n'; n'affichera PAS la magnitude mise à jour } }
Sortie possible :
La magnitude de (3, 3) est 4.24264 La magnitude de (1, 1) est 1.41421 La magnitude de (2, 2) est 2.82843 La magnitude de (3, 4.24264) est 5.19615 La magnitude de (1, 1.41421) est 1.73205 La magnitude de (2, 2.82843) est 3.4641
Voir aussi
|
retourne un itérateur vers la fin
(fonction membre publique) |
|
|
(C++11)
(C++14)
|
retourne un itérateur vers le début d'un conteneur ou d'un tableau
(fonction template) |