std::multiset<Key,Compare,Allocator>::clear
Von cppreference.com
| void clear(); |
(noexcept seit C++11) | |
Löscht alle Elemente aus dem Container. Nach diesem Aufruf gibt size() null zurück.
Macht alle Referenzen, Zeiger und Iteratoren, die sich auf enthaltene Elemente beziehen, ungültig. Jeder past-the-end Iterator bleibt gültig.
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 <set> void print_info(std::string_view rem, const std::multiset<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::multiset<int> container{1, 2, 3}; print_info("Before clear: ", container); container.clear(); print_info("After clear: ", container); }
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 224 | C++98 | die Komplexität war log(size()) + N, aber N war nicht definiert | korrigiert zu "linear in size()" |
[bearbeiten] Siehe auch
| entfernt Elemente (public member function) |