Partager via


unordered_set::unordered_set

Construit un objet container.

unordered_set(
    const unordered_set& Right
);
explicit unordered_set(
    size_type bucket_count = N0,
    const Hash& Hash = Hash(),
    const Comp& Comp = Comp(),
    const Allocator& Al = Alloc()
);
unordered_set(
    unordered_set&& Right
);
unordered_set(
    initializer_list<Type> IList
);
unordered_set(
    initializer_list<Type> IList, 
    size_type bucket_count
);
unordered_set(
    initializer_list<Type> IList, 
    size_type bucket_count,
    const Hash& Hash
);
unordered_set(
    initializer_list<Type> IList, 
    size_type bucket_count,
    const Hash& Hash,
    const Comp& Comp
);
unordered_set(
    initializer_list<Type> IList, 
    size_type bucket_count,
    const Hash& Hash,
    const Comp& Comp,
    const Allocator& Al
);
template<class InputIterator>
    unordered_set(
    InputIterator first, 
    InputIterator last,
    size_type bucket_count = N0,
    const Hash& Hash = Hash(),
    const Comp& Comp = Comp(),
    const Allocator& Al = Alloc());

Paramètres

Paramètre

Description

InputIterator

Type d'itérateur.

Al

L'objet d'allocation à enregistrer.

Comp

L'objet de fonction de comparaison à enregistrer.

Hash

L'objet de fonction de hachage à enregistrer.

bucket_count

Le nombre minimal de compartiments.

Right

Le conteneur à copier.

IList

L'initializer_list contenant les éléments à copier.

Notes

Le premier constructeur spécifie une copie de la séquence contrôlée par Right. Le deuxième constructeur spécifie une séquence contrôlée vide. Le troisième constructeur spécifie une copie de la séquence en déplaçant le Right Du quatrième jusqu'au huitième les constructeurs utilisent un initializer_list pour spécifier les éléments à copier. Le neuvième constructeur insère la séquence de valeurs d'élément [first, last).

Tous les constructeurs initialisent également plusieurs valeurs stockées. Pour le constructeur de copie, les valeurs sont obtenues à partir de Right. Sinon :

Le nombre minimal de compartiments est l'argument bucket_count, le cas échéant ; sinon c'est une valeur par défaut décrite ici comme valeur implémentation définie N0.

L'objet de fonction de hachage est l'argument Hash, s'il existe ; sinon c'est Hash().

L'objet de fonction de comparaison est l'argument Comp, s'il existe ; sinon c'est Comp().

L'objet d'allocation est l'argument Al, le cas échéant ; sinon, il est Alloc().

Exemple 

Code

/ std_tr1__unordered_set__unordered_set_construct.cpp 
// compile with: /EHsc 
#include <unordered_set> 
#include <iostream> 

using namespace std;

typedef unordered_set<char> Myset;
int main()
{
    Myset c1;

    c1.insert('a');
    c1.insert('b');
    c1.insert('c');

    // display contents " [c] [b] [a]" 
    for (auto& c : c1){
        cout << " [" << c << "]";
    }
    cout << endl;

    Myset c2(8,
        hash<char>(),
        equal_to<char>(),
        allocator<pair<const char, int> >());

    c2.insert('d');
    c2.insert('e');
    c2.insert('f');

    // display contents " [f] [e] [d]" 
    for (auto& c : c2){
        cout << " [" << c << "]";
    }
    cout << endl;

    Myset c3(c1.begin(),
        c1.end(),
        8,
        hash<char>(),
        equal_to<char>(),
        allocator<pair<const char, int> >());

    // display contents " [c] [b] [a]" 
    for (auto& c : c3){
        cout << " [" << c << "]";
    }
    cout << endl;

    Myset c4(move(c3));

    // display contents " [c] [b] [a]" 
    for (auto& c : c4){
        cout << " [" << c << "]";
    }
    cout << endl;

    Myset c5{ { 'a', 'b', 'c' } };

    for (auto& c : c5){
        cout << " [" << c << "]";
    }
    cout << endl;
}

Sortie

[a] [b] [c]
 [d] [e] [f]
 [a] [b] [c]
 [a] [b] [c]

Configuration requise

Header: <unordered_set>

Espace de noms : std

Voir aussi

Référence

<unordered_set>

unordered_set, classe

Autres ressources

<unordered_set> membres