std::unordered_map<Key,T,Hash,KeyEqual,Allocator>:: end, std::unordered_map<Key,T,Hash,KeyEqual,Allocator>:: cend
From cppreference.net
<
cpp
|
container
|
unordered map
|
iterator end
(
)
noexcept
;
|
(1) |
(desde C++11)
(constexpr desde C++26) |
|
const_iterator end
(
)
const
noexcept
;
|
(2) |
(desde C++11)
(constexpr desde C++26) |
|
const_iterator cend
(
)
const
noexcept
;
|
(3) |
(desde C++11)
(constexpr desde C++26) |
Devuelve un iterador más allá del último elemento de * this .
Este iterador devuelto solo actúa como centinela. No se garantiza que sea dereferenceable .
Contenidos |
Valor de retorno
Iterador después del último 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 asocia la dirección de un Node con 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 inicio
(función miembro pública) |
|
|
(C++11)
(C++14)
|
devuelve un iterador al final de un contenedor o array
(plantilla de función) |