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: assignedclosed

Насколько я понял, их нельзя нормально прикрутить к priority_queue или к set

В priority_queue не нужно класть unique_ptr, потому что очередь с приоритетами не владеет узлами, а только временно их держит. В priority_queue можно класть обычные указатели, а когда ноды сцепляются друг с другом, а значит нода-родитель становится владельцем своих детей, тогда можно передавать владение нодой к unique_ptr
Другое решение -- хранить ноды по значению в векторе внутри класса, и тогда можно использовать голые указатели.

С корректностью всё ок, тестов не увидел.

15/0/9

Note: See TracTickets for help on using tickets.