std::deque<T,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 ungültig, die sich auf enthaltene Elemente beziehen. Alle Iteratoren jenseits des Endes werden ebenfalls ungü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 <deque> void print_info(std::string_view rem, const std::deque<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::deque<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 2231 | C++11 | Die Komplexitätsgarantie wurde in C++11 irrtümlich ausgelassen. | Komplexität als linear bestätigt |
[bearbeiten] Siehe auch
| entfernt Elemente (public member function) |