std::unordered_set<Key,Hash,KeyEqual,Allocator>::clear
Von cppreference.com
< cpp | container | unordered set
| void clear() noexcept; |
(seit C++11) | |
Löscht alle Elemente aus dem Container. Nach diesem Aufruf gibt size() null zurück.
Ungültig macht alle Referenzen, Zeiger und Iteratoren, die sich auf enthaltene Elemente beziehen. Kann auch Past-the-End-Iteratoren ungültig machen.
Inhalt |
[bearbeiten] Komplexität
Linear in Bezug auf die Größe des Containers, d. h. die Anzahl der Elemente.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <iostream> #include <string_view> #include <unordered_set> void print_info(std::string_view rem, const std::unordered_set<int>& v) { std::cout << rem << "{ "; for (const auto& value : v) std::cout << value << ' '; std::cout << "}\n"; std::cout << "Size=" << v.size() << '\n'; } int main() { std::unordered_set<int> container{1, 2, 3}; print_info("Before clear: ", container); container.clear(); print_info("After clear: ", container); }
Mögliche Ausgabe
Before clear: { 1 2 3 }
Size=3
After clear: { }
Size=0Defect reports
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 2550 | C++11 | für ungeordnete assoziative Container, unklar, ob Komplexität linear zur Anzahl der Elemente oder Buckets ist |
klargestellt, dass sie linear zur Anzahl der Elemente ist |
[bearbeiten] Siehe auch
| entfernt Elemente (public member function) |