Opened 3 years ago

Closed 3 years ago

#530 closed ожидаются исправления (задача сдана)

WW_vector Skalt lab_11

Reported by: skalt.albert Owned by: Антон Филатов
Component: WW_vector Version: 3.0
Keywords: Cc: Антон Филатов

Description


Change History (5)

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

Type: ожидается проверкаожидаются исправления
In file included from include/my_vector.h:50:0,
                 from src/main.cpp:3:
include/my_vector_impl.h: In instantiation of ‘containers::my_vector<T>& 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:868:24:   required from here
include/my_vector_impl.h:41:14: error: no matching function for call to ‘swap(containers::my_vector<int>*, containers::my_vector<int>&)’
     std::swap(this, other);
     ~~~~~~~~~^~~~~~~~~~~~~

Много тестов падает.
Например, такой:

my_vector<T> vec(10);
assert(vec.capacity() == 16);

Или такой:

my_vector<T> vec;
vec.reserve(20);
assert(vec.capacity() == 32);

Или ещё такой:
взяли вектор из 5 элементов, заполнили их чем-то, потом сделали ресайз на 15 и проверили, те же ли элементы лежат в первых пяти или нет. У вас нет

Ну и при выводе на экран, вы лишний пробел в конце строки выводите

Стиль:

  • не хотите ли сделать, чтобы operator[] возвращал ссылку, а то такой оператор [] слева от оператора присваивания не поиспользуешь
  • BASE_CP должно быть равно 1, а не 2

6/10

comment:2 Changed 3 years ago by skalt.albert

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

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

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

Сейчас падают тесты на копирование и на resize.
Оба теста довольно длинные, я не очень хочу сюда целое полотно копипастить. Попробуйте сами написать побольше юнит тестов. Если не найдёте ошибку сами - пишите, я скину вам пример, где ломается
Стиль:

  • хотелось бы избежать копипасты в pop_back и clear
  • я чёт не понимаю. Пока выглядит так, что ваш reserve утекает по памяти - вы же arry_ не очищаете. Но валгринд предательски молчит, и я не понимаю, как это работает

7,5/10

comment:4 Changed 3 years ago by skalt.albert

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

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

Resolution: задача сдана
Status: assignedclosed
Type: ожидается проверкаожидаются исправления

Тесты пройдены.
Я вашего письма вчера не заметил, но вы сами отлично справились!
Супер
10/10

Note: See TracTickets for help on using tickets.