std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>::clear
Von cppreference.com
< cpp | container | unordered multimap
| 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_map> void print_info(std::string_view rem, const std::unordered_multimap<int, char>& v) { std::cout << rem << "{ "; for (const auto& [key, value] : v) std::cout << '[' << key << "]:" << value << ' '; std::cout << "}\n"; std::cout << "Size=" << v.size() << '\n'; } int main() { std::unordered_multimap<int, char> container{{1, 'x'}, {2, 'y'}, {3, 'z'}}; print_info("Before clear: ", container); container.clear(); print_info("After clear: ", container); }
Mögliche Ausgabe
Before clear: { [1]:x [2]:y [3]:z }
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) |