Opened 3 years ago

Closed 3 years ago

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

WW_vector Mittcev lab_11

Reported by: mitcev.nikita Owned by: Антон Филатов
Component: WW_vector Version: 2.0
Keywords: Cc:

Description


Change History (3)

comment:1 Changed 3 years ago by Антон Филатов

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

автотесты оказались не готовы к тому, чтобы вручную подключать ещё и "_impl.h" Кажется, вам надо самим об этом позаботиться.

Падает тест на копирование, reserve и resize (попробуйте разные кратные и не кратные 2 длины то поувеличивать, то поуменьшать). Эти тесты довольно большие, я не очень хочу их сбда копипастить. Попишите юнит тесты, если сами не найдёте ошибку - пишите мне, я скину код тестов.

Стиль:

  • не хватает своп трика в операторе=
  • может (1 << i) * capacity_ - это в отдельную функцию?
  • кажется, что в delete_array и в pop_back есть копипаста

6,5/10

comment:2 Changed 3 years ago by mitcev.nikita

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

Пожалуйста, проверьте, я забыл 2 дня назад статус поменять

comment:3 Changed 3 years ago by Антон Филатов

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

Упал тест на resize.
Если взять вектор из 5 элементов, заполнить их чем-то ненулевым, а потом сделать resize до 10 и проверить от 6 до 10 на vec[i] == T() (где T = int), то такой ассерт упадёт.
Стиль:

  • а представьте как было бы красивы не делать отдельную функцию call_destructor, а в delete_array сделать while(size) {pop_back;}
  • зря вы в reserve пользуетесь memcpy, мы же на паре это обсуждали. У вас же есть замечательные конструкторы копирования, которые в купе с placement new будут очень хорошо себя вести, и по скорости не уступать memcpy

9.3/10

Note: See TracTickets for help on using tickets.