ideas icon indicating copy to clipboard operation
ideas copied to clipboard

Добавить больше специализаций hash для контейнеров

Open apolukhin opened this issue 4 years ago • 3 comments

Перенос предложения: голоса +1, -0 Автор идеи: Alexander @ZaMaZaN4iK

Предлагаю добавить специализации struct hash для большинства контейнеров из Стандартной библиотеки таких как array, vector, tuple, valarray, deque, list, forward_list, map, set, multimap, multiset; адаптеров queue и stack; basic_string со пользовательским типом charT и аллокатором; для pair.

Подробно с предложением можно ознакомиться по этой ссылке

Буду рад обсудить здесь.

apolukhin avatar Apr 02 '21 09:04 apolukhin

Andrey Davydov, 13 декабря 2018, 22:34 С stack и queue вы кажется загнули, у нас же есть доступ только к одному элементу.

Alexander, 14 декабря 2018, 1:40 Andrey Davydov, это только у публичного интерфейса есть доступ к одному элементу. Сам же хеш может спокойно иметь доступ и ко всем элементам.

Andrey Davydov, 14 декабря 2018, 9:40 Alexander, действительно, оказывается для stack-а есть operator ==, значит и hash считать тоже можно. По-моему, пользу от этого никакой, но и вреда, наверное не будет.

Alexander, 14 декабря 2018, 10:28 Andrey Davydov, из текущей версии предложения всё же было решено выпилить хеш для stack и queue. Оставили это как открытый вопрос для комитета - посмотрим, что там скажут на сей счёт.

yndx-antoshkka, 21 июля 2020, 9:43 В Праге предложение отклонили, сказав что оно блокирует более хорошее (но пяток лет не развивающееся) предложение по фреймворку для подсчёта хешей.

apolukhin avatar Apr 02 '21 09:04 apolukhin

Прошло уже много лет. В стандарте так и нету хешей для array и vector. Есть ли новости на этот счёт?

Panzerschrek avatar Apr 12 '25 12:04 Panzerschrek

С моей стороны есть апдейт - я ушёл на Rust.

zamazan4ik avatar Apr 12 '25 19:04 zamazan4ik