Opened 3 years ago
Closed 3 years ago
#553 closed ожидается проверка (задача сдана)
WW_vector Garaev Timur lab_11
Reported by: | Garaev Timur | Owned by: | Антон Филатов |
---|---|---|---|
Component: | WW_vector | Version: | 2.0 |
Keywords: | Cc: |
Description
Я как будто познал магию! Интересно, до конца ли?
Change History (5)
comment:1 Changed 3 years ago by
Component: | HW #1 (BMP) → WW_vector |
---|
comment:2 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:3 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:4 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
Вроде поправил все, переписал тесты, чтобы они побольше проверяли и потестил валгринд. Должно быть получше!
comment:5 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Всё ещё падает тест на копирование. А также зависает в каком-то бесконечном цикле тест на resize (хотя может, там не бесконечный цикл, а просто какое-то UB)
По стилю замечания остались теми же.
7,5/10
Note: See
TracTickets for help on using
tickets.
из-за того, что ваш оператор [] не константный, не компилируется тест
const T& elem = vec[0];
вот это место не компилится
И для Product не компилится resize:
Выпилил, как мог, особенно не вникая, может, что-то неправильно сделал.
Почти на всех тестах ругается валгринд
Кроме того, падает тест на копирование - что-то копируется не так. Сценарий примерно такой:
Взять вектор их 10 элементов, заполнить их чем-то ненулевым.
понаделать с него кучу разных копий , удалить их, а потом проверить, осталось ли состояние вектора теким, как мы его создали. У вас не осталось.
Падают тесты на resize и reserve
после сужения и увеличения размеров ассерты на capacity падают
Стиль:
((T*)(array_ + size_ * sizeof(T)))->~T();
можно вынести в отдельную функцию. Да и вообще удаление всего массива просится через pop_backПока 4/10