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) |
(seit C++11)
(constexpr seit C++26) |
|
const_iterator begin
(
)
const
noexcept
;
|
(2) |
(seit C++11)
(constexpr seit C++26) |
|
const_iterator cbegin
(
)
const
noexcept
;
|
(3) |
(seit C++11)
(constexpr seit C++26) |
Gibt einen Iterator zum ersten Element von * this zurück.
Wenn * this leer ist, wird der zurückgegebene Iterator gleich end() sein.
Inhaltsverzeichnis |
Rückgabewert
Iterator zum ersten 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]; // hätte auch cur->y = iter->second; verwenden können } // 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 << "Die Größe von (" << cur->x << ", " << cur->y << ") ist "; 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 << "Die Größe von (" << cur->x << ", " << cur->y << ") ist "; 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:
Die Größe von (3, 3) ist 4.24264 Die Größe von (1, 1) ist 1.41421 Die Größe von (2, 2) ist 2.82843 Die Größe von (3, 4.24264) ist 5.19615 Die Größe von (1, 1.41421) ist 1.73205 Die Größe von (2, 2.82843) ist 3.4641
Siehe auch
|
gibt einen Iterator zum Ende zurück
(öffentliche Elementfunktion) |
|
|
(C++11)
(C++14)
|
gibt einen Iterator zum Anfang eines Containers oder Arrays zurück
(Funktionstemplate) |