Opened 3 years ago

Closed 3 years ago

#579 closed ожидается проверка (задача сдана)

HW #11

Reported by: movsin.marat Owned by: Святослав Власов
Component: WW_vector Version: 2.0
Keywords: Cc:

Description


Change History (3)

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

Type: ожидается проверкаожидаются исправления

Даже компиляция твоего собственного кода упала -- как так? Пришлось чинить :-/

Затем упала компиляция тестов :( Потому что твои файлы не инклюдать заголовочники, от которых они зависят. Например, ты объявляешь перегрузку оператора<<, у которого аргумент std::ostream в my_vector.h, но <iostream> ты в него не заинклюдил. Из-за чего компиляция ожидаемо упала.

Следующая причина падения компиляции -- отсутствие константного оператора[], из-за чего функция принимающая вектор по константной ссылке не может им воспользоваться.

Теперь тесты:

  1. Упал тест на resize с ошибками валгринда -- память течет.
  2. Попадали все тесты на безопасность исключений -- ну тут все понятно, ты их вообще не обрабатываешь.

Замечания по дезайну

  1. Вместо new T; лучше всегда писать new T();. Эти вызовы будут отличаться, если T -- это POD структура. Первый ничего не проинициализирует, а второй проинициализирует структуру нулями.
  2. Оператор присваивания намного проще написать через swap-trick
  3. resize должен уметь работать в меньшую сторону, у тебя он работает только на расширение

Пока что 6/10

comment:2 Changed 3 years ago by movsin.marat

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

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

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

Базовые тесты прошли. Тесты на гарантии исключений попадали.

Много копипасты повсюду, тот же оператор присваивания прекрасно через swap trick пишется двумя строчками или конструктор от числа через resize.

8/10

Note: See TracTickets for help on using tickets.