Change History (2)

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

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

Папочку .vscode не нужно добавлять в репозиторий

А еще нужно строго следовать тому, что требуется в задании. Мне пришлось пофиксить много твоего кода, чтобы он принялся тестирующей системой. Во-первых ты заюзал не тот неймспейс, во-вторых, зачем ты инклюдишь my_vector_impl.h в каждый .срр файл? Хотя он должен инклюдиться в конец my_vector.h. В-третьих, вся имплементация вектора должна быть в my_vector.h и my_vector_impl.h

После правок все простые тесты прошли кроме одного -- тест на вывод. У тебя не совпадает формат из-за лишних пробелов.
В более сложных тестах, где проверяется количество вызовов конструкторов у объектов, там всё совсем плохо -- очень много лишних копирований объектов. Подозреваю что это происходит из-за твоей магии с созданием в конструкторе вектора другого вектора. Не стоит так делать, это неочевидно, избыточно и порождает ошибки. Попробуй для проверки создать класс, который в статических переменных будет считать количество вызовов конструкторов (пустых и копий), потестируй свой вектор на нем и посмотри что у тебя в каких количествах вызывается.

Еще ты забыл проверку на самоприсваивание.
Еще у тебя конструктор копий не вызовет деструкторы для уже размещенных объектов, если вдруг конструктор копий какого-то элемента кинет эксепшн.

Пока 6/10

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

Resolution: задача сдана
Status: assignedclosed
Note: See TracTickets for help on using tickets.