33 добавляются одинаковые объекты (оператор сравнения структуры считает их одинаковыми). В итоге в unordered_set есть объекты, добавленные на строках 28 и 33, но нет объекта со строки 30. Хотя в моем понимании должен быть только объект, добавленный на строке 28. Почему так происходит?
То ли я дурак, то ли там несколько операторов "()" и ни одного оператора "==". Или мне с телефона их не видно?
у вас хеш у них разный же
А почему тогда не вставляется элемет со строки 30?
https://godbolt.org/z/eeKdMfvde
Получается, чтобы не вставлялись копии, не достаточно что оператор сравнения возвращает true, еще нужно и что бы хеш у них был одинаковый?
Обсуждают сегодня