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) |
(seit C++11)
(constexpr seit C++26) |
|
const_iterator end
(
)
const
noexcept
;
|
(2) |
(seit C++11)
(constexpr seit C++26) |
|
const_iterator cend
(
)
const
noexcept
;
|
(3) |
(seit C++11)
(constexpr seit C++26) |
Gibt einen Iterator zurück, der hinter das letzte Element von * this zeigt.
Dieser zurückgegebene Iterator fungiert lediglich als Sentinel. Es ist nicht garantiert, dass er dereferenzierbar ist.
Inhaltsverzeichnis |
Rückgabewert
Iterator hinter dem letzten Element.
Komplexität
Konstante.
Beispiel
Diesen Code ausführen
#include <cmath> #include <iostream> #include <unordered_map> struct Node { double x, y; }; int main() { Node nodes[3] = {{1, 0}, {2, 0}, {3, 0}}; // mag ist eine Map, die die Adresse eines Nodes auf seine Größe in der Ebene abbildet std::unordered_map<Node*, double> mag = { { nodes + 0, 1 }, { nodes + 1, 2 }, { nodes + 2, 3 } }; // Ändere jede y-Koordinate von 0 auf die Größe for (auto iter = mag.begin(); iter != mag.end(); ++iter) { auto cur = iter->first; // Zeiger auf Node cur->y = mag[cur]; // könnte auch cur->y = iter->second; verwenden } // Aktualisiere und gebe die Größe jedes Nodes aus for (auto iter = mag.begin(); iter != mag.end(); ++iter) { auto cur = iter->first; mag[cur] = std::hypot(cur->x, cur->y); std::cout << "The magnitude of (" << cur->x << ", " << cur->y << ") is "; std::cout << iter->second << '\n'; } // Wiederhole das obige mit der bereichsbasierten for-Schleife for (auto i : mag) { auto cur = i.first; cur->y = i.second; mag[cur] = std::hypot(cur->x, cur->y); std::cout << "The magnitude of (" << cur->x << ", " << cur->y << ") is "; std::cout << mag[cur] << '\n'; // Beachte, dass im Gegensatz zu std::cout << iter->second << '\n'; oben, // std::cout << i.second << '\n'; NICHT die aktualisierte Größe ausgeben wird } }
Mögliche Ausgabe:
The magnitude of (3, 3) is 4.24264 The magnitude of (1, 1) is 1.41421 The magnitude of (2, 2) is 2.82843 The magnitude of (3, 4.24264) is 5.19615 The magnitude of (1, 1.41421) is 1.73205 The magnitude of (2, 2.82843) is 3.4641
Siehe auch
|
gibt einen Iterator auf den Anfang zurück
(öffentliche Elementfunktion) |
|
|
(C++11)
(C++14)
|
gibt einen Iterator auf das Ende eines Containers oder Arrays zurück
(Funktionstemplate) |