Opened 3 years ago
Closed 3 years ago
#725 closed ожидается проверка (задача сдана)
HW #2
Reported by: | saakyan.artur | Owned by: | Святослав Власов |
---|---|---|---|
Component: | HW #3 (Huffman) | Version: | 1.0 |
Keywords: | Cc: |
Description
Прочитав чужие тикеты, заметил, что за отсутствие unique_ptr снижают
Решил сделать с ними, и чуть не умер
Насколько я понял, их нельзя нормально прикрутить к priority_queue или к set
Вот пруфы
https://stackoverflow.com/questions/16661038/getting-a-unique-ptr-out-of-a-priority-queue
Чтобы их поддержать пришлось использовать vector, хорошо что в TL он уложится.
Change History (1)
comment:1 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
В
priority_queue
не нужно кластьunique_ptr
, потому что очередь с приоритетами не владеет узлами, а только временно их держит. Вpriority_queue
можно класть обычные указатели, а когда ноды сцепляются друг с другом, а значит нода-родитель становится владельцем своих детей, тогда можно передавать владение нодой кunique_ptr
Другое решение -- хранить ноды по значению в векторе внутри класса, и тогда можно использовать голые указатели.
С корректностью всё ок, тестов не увидел.
15/0/9