Change History (1)

comment:1 Changed 3 years ago by Святослав Власов

Resolution: задача сдана
Status: assignedclosed

Тесты прошли. К корректности претензий нет.

По стилю:

  1. Зачем shared_ptr? Ты собираешься где-то разделять владение нодами? Достаточно чтобы владелец ноды хранил её по unique_ptr и отдавал наружу обычным указателем.
  2. Зачем?! return uint8_t(c - '\0');. Символ '\0' -- это обычный 0. То есть по факту у тебя там написано return uint8_t(c - 0);
  3. HuffTree::HuffTree(array<size_t, 256> table) зачем по значению передавать аргумент? Это лишнее копирование. Лучше константной ссылкой.

По тестам:

  1. Вот так не надо писать: CHECK(root->left_->cnt_ == 7);. Если дерево будет иметь не такой вид как ты ожидаешь и left_ окажется nullptr, то тесты упадут по сегфолту и будет сложно понять в каком месте это случилось. Лучше перед этим поставить REQUIRE и убедиться, что все нужные указатели не нулевые.

15/5/8

Note: See TracTickets for help on using tickets.