Namensräume
Varianten
Aktionen

std::deque<T,Allocator>::clear

Von cppreference.com
< cpp‎ | container‎ | deque
 
 
 
 
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

#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=0

Defect 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) [edit]