Поделиться через


unordered_set::unordered_set

Создает объект контейнера.

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

Параметры

Параметр

Описание

InputIterator

Тип итератора.

Al

Объект распределителя в хранилище.

Comp

Объект функции сравнения в хранилище.

Hash

Объект хэш-функция в хранилище.

bucket_count

Минимальное число блоков.

Right

Контейнер, которые необходимо скопировать.

IList

Initializer_list, содержащий элементы для копирования.

Заметки

Первый конструктор определяет копию последовательности контролируемой Right. Второй конструктор определяет контролируемую пустую последовательность. Третий конструктор определяет копию последовательности, переместив Right четвертый через восьмые конструкторы initializer_list используется для указания элементов для копирования. Девятый конструктор добавляет последовательность значений [first, last) элемента.

Все конструкторы также инициализируют несколько сохраненного значений. Для конструктора копий значений, полученных из Right. В противном случае:

Минимальное число блоков аргумент bucket_count, если в настоящий момент; в противном случае значение по умолчанию описанный здесь как предоставления определенное значение N0.

Объект хэш-функции аргумент Hash, если в настоящий момент; в противном случае это Hash().

Объект функции сравнения аргумента Comp, если в настоящий момент; в противном случае это Comp().

Объект распределителя аргумент Al, если в настоящий момент; в противном случае это Alloc().

Пример 

Код

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

Output

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

Требования

Заголовок:<unordered_set>

Пространство имен: std

См. также

Ссылки

<unordered_set>

Класс unordered_set

Другие ресурсы

члены<unordered_set>