std::unordered_set<Key,Hash,KeyEqual,Allocator>:: begin, std::unordered_set<Key,Hash,KeyEqual,Allocator>:: cbegin
From de.cppreference.net
<
cpp
|
container
|
unordered set
|
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.
Hinweise
Da sowohl
iterator
als auch
const_iterator
konstante Iteratoren sind (und tatsächlich derselbe Typ sein können), ist es nicht möglich, die Elemente des Containers über einen von diesen Memberfunktionen zurückgegebenen Iterator zu verändern.
Beispiel
Diesen Code ausführen
#include <iostream> #include <unordered_set> struct Point { double x, y; }; int main() { Point pts[3] = {{1, 0}, {2, 0}, {3, 0}}; // points ist ein Set, das die Adressen der Punkte enthält std::unordered_set<Point*> points = { pts, pts + 1, pts + 2 }; // Ändere jede y-Koordinate von (i, 0) von 0 in i^2 und gebe den Punkt aus for (auto iter = points.begin(); iter != points.end(); ++iter) { (*iter)->y = ((*iter)->x) * ((*iter)->x); // iter ist ein Pointer-zu-Point* std::cout << "(" << (*iter)->x << ", " << (*iter)->y << ") "; } std::cout << '\n'; // Nun verwenden wir die bereichsbasierte for-Schleife, um jede y-Koordinate um 10 zu erhöhen for (Point* i : points) { i->y += 10; std::cout << "(" << i->x << ", " << i->y << ") "; } }
Mögliche Ausgabe:
(3, 9) (1, 1) (2, 4) (3, 19) (1, 11) (2, 14)
Siehe auch
|
gibt einen Iterator zum Ende zurück
(public member function) |
|
|
(C++11)
(C++14)
|
gibt einen Iterator zum Anfang eines Containers oder Arrays zurück
(function template) |