Opened 4 years ago
Closed 4 years ago
#830 closed ожидается проверка (задача сдана)
WW #12
Reported by: | Vavilov Mark | Owned by: | Дмитрий Свиридкин |
---|---|---|---|
Component: | WW_vector | Version: | 3.0 |
Keywords: | Cc: |
Description
Change History (5)
comment:1 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to Vavilov Mark |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 4 years ago by
Owner: | changed from Vavilov Mark to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 1.0 → 2.0 |
comment:3 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to Vavilov Mark |
---|---|
Type: | ожидается проверка → ожидаются исправления |
/home/dmis/DATA/WORKSPACE/cpp-labs/lab_12/check/lab_12/include/my_vector_impl.h:157:43: error: ‘aligned_alloc’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
Надо подключать заголовки там, где они исплользуются.
В impl не надо подключать исходный заголовок.
my_vector<T>& operator=(my_vector other); my_vector<T>& operator=(my_vector&& other) noexcept;
Эти две сигнатуры не могут ужиться вместе.
А где конструктор перемещения?
в reserve нужено делать move элементов
push_back нарушает строгую гарантию исключений.
comment:4 Changed 4 years ago by
Owner: | changed from Vavilov Mark to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 2.0 → 3.0 |
comment:5 Changed 4 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
ostream не подключен, а используется
реаллокация в push_back не добивает до степени двойки.
my_vector<T>::my_vector(const my_vector& other) : h{other.size()} { assert(h.array_);
А если захотели копировать пустой?
гарантия, что ненулевая capacity равняется степени двойки, нарушается.
8
Note: See
TracTickets for help on using
tickets.
Нет константного оператора []
Код, очищающий вектор, дублируется минимум трижды. Его надо вынести в отдельную функцию, а лучше в структуру и переложить ответсвенность за его вызов на ее дуструктор.
Для n == 2 эта функция вернет 4. Это точно то, что требуется в условии?
resize не работает на уменьшение размера.
my_vector<T>::my_vector(my_vector const &other)
Кто ж вас научил этому самому непопулярному и существующему только в безумном мире C++ варианту размещения const...