Namespaces
Variants

std::unordered_multiset<Key,Hash,KeyEqual,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. Peut également invalider les itérateurs fin-de-séquence.

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 <unordered_set>
void print_info(std::string_view rem, const std::unordered_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::unordered_multiset<int> container{1, 2, 3};
    print_info("Before clear: ", container);
    container.clear();
    print_info("After clear: ", container);
}

Sortie possible :

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 corrigé
LWG 2550 C++11 pour les conteneurs associatifs non ordonnés, incertitude si la complexité
est linéaire dans le nombre d'éléments ou de buckets
clarifié que c'est linéaire dans le nombre d'éléments

Voir aussi

efface les éléments
(fonction membre publique)