Udostępnij za pośrednictwem


unordered_set::unordered_set

Konstruuje obiekt kontenera.

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());

Parametry

Parametr

Opis

InputIterator

Typ iteratora.

Al

Obiekt alokatora do przechowania.

Comp

Obiekt funkcji porównywania do przechowania.

Hash

Obiekt funkcji skrótu do przechowania.

bucket_count

Minimalna liczba zasobników.

Right

Kontener do skopiowania.

IList

Lista initializer_list zawierająca elementy do skopiowania.

Uwagi

Pierwszy konstruktor określa kopię sekwencji kontrolowanej przez Right.Drugi konstruktor określa pustą kontrolowaną sekwencję.Trzeci konstruktor określa kopię sekwencji przenosząc Right. Konstruktory od czwartego do ósmego, używają listy initializer_list do określenia elementów, które mają być skopiowane.Dziewiąty konstruktor wstawia sekwencję wartości elementu [first, last).

Wszystkie konstruktory również inicjują kilka przechowywanych wartości.Wartości dla konstruktora kopiującego są uzyskiwane z Right.W przeciwnym razie:

Minimalna liczba segmentów jest argumentem bucket_count, jeśli jest obecna; w przeciwnym razie jest to wartość domyślna opisana tutaj jako wartość zdefiniowana w implementacji N0.

Obiekt funkcji skrótu jest argumentem Hash, jeśli jest obecna; w przeciwnym razie jest Hash().

Obiekt funkcji porównania jest argumentem Comp, jeśli jest obecna; w przeciwnym razie jest Comp().

Obiekt programu przydzielania jest argumentem Al, jeśli jest obecny; w przeciwnym razie jest Alloc().

Przykład 

Kod

/ 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;
}

Dane wyjściowe

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

Wymagania

Nagłówek: <unordered_set>

Przestrzeń nazw: std

Zobacz też

Informacje

<unordered_set>

unordered_set — Klasa

Inne zasoby

<unordered_set> Członkowie