Namespaces
Variants

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

From cppreference.net

void clear ( ) ;
(noexcept depuis C++11)
(constexpr depuis C++26)

Efface tous les éléments du conteneur. Après cet appel, size() retourne zéro.

Invalide toutes les références, pointeurs et itérateurs se référant aux éléments contenus. Tous les itérateurs de fin sont également invalidés.

Table des matières

Complexité

Linéaire dans la taille du conteneur, c'est-à-dire le nombre d'éléments.

Exemple

#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);
}

Sortie :

Before clear: { 1 2 3 }
Size=3
After clear: { }
Size=0

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement correct
LWG 2231 C++11 la garantie de complexité a été omise par erreur dans C++11 la complexité réaffirmée comme linéaire

Voir aussi

efface les éléments
(fonction membre publique)