Opened 3 years ago
Closed 3 years ago
#578 closed ожидается проверка (задача сдана)
HW #11
Reported by: | Georgiy Angeni | Owned by: | Святослав Власов |
---|---|---|---|
Component: | WW_vector | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (3)
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
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Гарантии исключений теперь выполняются, но вот память течет безбожно в каждом тесте, включая те, где нет исключений.
Даже твои тесты запущенные под валгриндом это показывают:
==2137834== 5 bytes in 1 blocks are definitely lost in loss record 1 of 1 ==2137834== at 0x483F50F: operator new[](unsigned long) (vg_replace_malloc.c:431) ==2137834== by 0x1094A0: product::Product::Product(product::Product const&) (main.cpp:19) ==2137834== by 0x10B1D9: containers::my_vector<product::Product>::push_back(product::Product) (my_vector_impl.h:176) ==2137834== by 0x109C11: void test_my_vector<product::Product>(product::Product, product::Product) (main.cpp:54) ==2137834== by 0x109317: main (main.cpp:138)
Еще у тебя в коде много копи-пасты, прям очень, код push_back, resize, reserve
почти полностью себя копирует.
5/10
Note: See
TracTickets for help on using
tickets.
Оператор присваивания не компилируется. Я исправил но проверяй свой код перед отправкой лучше. Помни, что шаблонные методы если ты их не вызываешь в коде, просто не компилируются, поэтому ошибки внутри них тебе компилятор не выдаст до тех пор, пока ты не напишешь код, вызывающий этот метод.
После компиляции почти все тесты попадали. Половина с сегфолтом.
То, что ты повсюду расставил
try-catch
с пустым блокомcatch
не превращает твой код в дающий строгие гарантии :)2/10 пока