Я хотел бы спросить, есть ли какая-либо точка проверки, существует ли элемент в unorderd_set
перед его вставкой? В соответствии с documentation:Проверка наличия элемента в unorderd_set перед его вставкой
Каждый элемент вставляется только если он не является эквивалентом любого другого элемента, уже в контейнере (элементы в unordered_set имеют уникальные значения).
Так что, если я правильно получать его в моем случае:
Element *element = new Element;
//...
if (my_set.find (element) == my_set.end())
my_set.insert(element);
Не требуется - правильно? Что на самом деле происходит, если я пытаюсь вставить элемент, который уже находится в наборе. Выполняет ли он точно такую же проверку, что и я?
Прочитайте документацию, Лука: http://en.cppreference.com/w/cpp/container/unordered_set/insert –
Кроме того, сделайте себе одолжение и не совершайте торговлю в Raw Pointers. –