Требования к элементам в std :: unordered_set - PullRequest
7 голосов
/ 29 марта 2012
std::unordered_set<my_type> my_set;

Каким требованиям должен соответствовать my_type?(Помимо специализации для std :: hash)

1 Ответ

7 голосов
/ 29 марта 2012

Вам нужна специализация для std :: hash, и вам нужен оператор ==, определенный для обработки коллизий хешей.

РЕДАКТИРОВАТЬ: Вы также должны убедиться, что ваш тип имеет конструктор копирования (или позволить компилятору сгенерировать его для вас), потому что контейнеры STL имеют семантику значений.

EDIT2: в качестве примера того, как это сделать, вы можете проверить этот другой SO-ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...