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) |
(desde C++11)
(constexpr desde C++26) |
|
const_iterator begin
(
)
const
noexcept
;
|
(2) |
(desde C++11)
(constexpr desde C++26) |
|
const_iterator cbegin
(
)
const
noexcept
;
|
(3) |
(desde C++11)
(constexpr desde C++26) |
Devuelve un iterador al primer elemento de * this .
Si * this está vacío, el iterador devuelto será igual a end() .
Contenidos |
Valor de retorno
Iterador al primer elemento.
Complejidad
Constante.
Ejemplo
Ejecutar este código
#include <cmath> #include <iostream> #include <unordered_map> struct Node { double x, y; }; int main() { Node nodes[3] = {{1, 0}, {2, 0}, {3, 0}}; // mag es un mapa que asigna la dirección de un Node a su magnitud en el plano std::unordered_map<Node*, double> mag = { { nodes + 0, 1 }, { nodes + 1, 2 }, { nodes + 2, 3 } }; // Cambiar cada coordenada y de 0 a la magnitud for (auto iter = mag.begin(); iter != mag.end(); ++iter) { auto cur = iter->first; // puntero a Node cur->y = mag[cur]; // también se podría haber usado cur->y = iter->second; } // Actualizar e imprimir la magnitud de cada nodo for (auto iter = mag.begin(); iter != mag.end(); ++iter) { auto cur = iter->first; mag[cur] = std::hypot(cur->x, cur->y); std::cout << "La magnitud de (" << cur->x << ", " << cur->y << ") es "; std::cout << iter->second << '\n'; } // Repetir lo anterior con el bucle for basado en rangos for (auto i : mag) { auto cur = i.first; cur->y = i.second; mag[cur] = std::hypot(cur->x, cur->y); std::cout << "La magnitud de (" << cur->x << ", " << cur->y << ") es "; std::cout << mag[cur] << '\n'; // Nótese que, en contraste con std::cout << iter->second << '\n'; anterior, // std::cout << i.second << '\n'; NO imprimirá la magnitud actualizada } }
Salida posible:
La magnitud de (3, 3) es 4.24264 La magnitud de (1, 1) es 1.41421 La magnitud de (2, 2) es 2.82843 La magnitud de (3, 4.24264) es 5.19615 La magnitud de (1, 1.41421) es 1.73205 La magnitud de (2, 2.82843) es 3.4641
Véase también
|
devuelve un iterador al final
(función miembro pública) |
|
|
(C++11)
(C++14)
|
devuelve un iterador al inicio de un contenedor o array
(plantilla de función) |