Opened 3 years ago
Closed 3 years ago
#528 closed ожидается проверка (задача сдана)
WW_vector Tyuryaev lab_11
Reported by: | tyuryaev.ilya | Owned by: | Антон Филатов |
---|---|---|---|
Component: | WW_vector | Version: | 3.0 |
Keywords: | Cc: |
Description
Change History (5)
comment:1 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
comment:3 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
In file included from include/my_vector.h:65:0, from src/main.cpp:3: include/my_vector_impl.h: In instantiation of ‘containers::my_vector<K>& containers::my_vector<T>::operator=(containers::my_vector<T>) [with T = int]’: src/main.cpp:367:13: required from ‘void test_copy() [with T = int]’ src/main.cpp:871:24: required from here include/my_vector_impl.h:60:14: error: no matching function for call to ‘swap(containers::my_vector<int>&, const containers::my_vector<int>&)’ std::swap(*this, other); ~~~~~~~~~^~~~~~~~~~~~~~
Вот на таком тесте выпадает ассерт:
my_vector<T> vec(10); assert(vec.size() == 10); assert(vec.capacity() == 16); assert(!vec.empty()); for(size_t i = 0; i < vec.size(); ++i) { assert(vec[i] == T()); }
Тест на копирование иногда выпадает с сегфолтом. Проверьте повнимательнее - если не найдёте, почему - пришлю тест
Кроме того падают тесты на resize и reserve (по-прежнему)
7,5/10
comment:4 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 2.0 → 3.0 |
comment:5 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Тесты пройдены.
Стиль:
- неожиданное решение в free_vec передавать экземпляр вектора, если по-сути вы его от this всегда вызываете
9.9/10
Note: See
TracTickets for help on using
tickets.
Забыли iostream в my_vector.h
И вот эту ошибку надо бы пофиксить в операторе присваивания
Тесты проходят не все.
Во-первых, _init_cp должно быть 1, а не 2 - это мелочь, но тем не менее соглашение для пустого вектора именно такое
И когда вы создаёте вектор, например, my_vector<T> vec(10), то size == 10, а capacity == 16 (c reserve это тоже должно работать. Сдлелаи пустой вектор, а потом reserve на 10, capacity должно стать 16)
А тест на resize вообще что-то с сегфолтом выпадает. В этом тесте дается resize(5), потом 15, потом 10, потом 17, потом 0
Стиль:
По стилю всё ок на самом деле.
Предложение есть: не хотите ли своп трик кое-где сделать, чтобы кода поменьше писать
7/10