Opened 4 years ago
Closed 4 years ago
#831 closed ожидаются исправления (задача сдана)
WW #12
Reported by: | luchinin.aleksey | Owned by: | luchinin.aleksey |
---|---|---|---|
Component: | WW_vector | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (4)
comment:1 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to luchinin.aleksey |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 4 years ago by
Owner: | changed from luchinin.aleksey to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 1.0 → 2.0 |
Исправил недочёты
comment:3 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to luchinin.aleksey |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Подключать заголовки надо там, где вы их используете.
в impl не надо подключать исходный заголовок.
resize, push_back нарушают строгую гарантию исключений.
explicit my_vector(std::size_t size = 0);
Делать таким образом конструктор по умолчанию нелья -- он будет требовать наличие конструктора по умолчанию у T.
reserve работает неверно.
Оператор вывода печатат личшний пробел.
Note: See
TracTickets for help on using
tickets.
T operator[](std::size_t index) const;
Надо бы константную ссылку возвращать.
Не надо менять имена типов и интерфейсы, требуемые в публичном условии! вы контрольные тесты ломаете!
Пробел между именем шаблона и угловыми скобками аргументов уж точно лучше не ставить -- так только всех с толку сбивать. Особенно, если у вас все операторы пробелами окружаются.
Какой-то у вас скромный вектор -- после push_back 32 элементов bad_alloc кинул, попытавшись выделить 4 Гб памяти!
resize на уменьшение приведет к утечке памяти в лучшем случае и к UB в долгосрочной перспективе.
Точно до capacity?
capacity не всегда добивается до степени двойки, как требуется в условии.
в reserve нужен move