Opened 3 years ago

Closed 3 years ago

#608 closed ожидается проверка (задача сдана)

WW_exceptions lab_12 yusufov.arsenij

Reported by: Arseny Yusufov Owned by: Дмитрий Лапшин (lapshin)
Component: WW_exceptions Version:
Keywords: Cc:

Description


Change History (5)

comment:1 Changed 3 years ago by Дмитрий Лапшин (lapshin)

Owner: changed from Дмитрий Лапшин (lapshin) to Arseny Yusufov
Type: ожидается проверкаожидаются исправления

Ловишь полиморфное исключение не по ссылке, ай.

А что-то на каждом тесте всё плохо. Формат вывода для начала, а ещё валгринд.

Так. А зачем shared_ptr?! Хм. Зарезервировал 10 штук и не создал, а дальше по индексам, но-но.

Очень сложный код вывода матрицы. Ещё может и неверный.

Везде какие-то ошибки по индексам. Мутно. Посмотри плиз.

comment:2 Changed 3 years ago by Arseny Yusufov

Owner: changed from Arseny Yusufov to Дмитрий Лапшин (lapshin)
Type: ожидаются исправленияожидается проверка

comment:3 Changed 3 years ago by Дмитрий Лапшин (lapshin)

Owner: changed from Дмитрий Лапшин (lapshin) to Arseny Yusufov
Type: ожидается проверкаожидаются исправления

Формат вывода: пробелы и ошибки. Валгринд (очень дурацкая, очевидная, но плохая ошибка). Про стиль актуально.

Но к рабочему виду тут ближе.

Умножение по одной понятной причине всё ещё не очень работает. И по одной чуть менее понятной, но блин, ты сам себя перехитрил, у тебя волшебный operator =. Зря решил не переиспользовать конструктор копий и вынес не тот код, да.

К разговору о делать проще: я вообще не знаю зачем _resize. Где он вообще нужен?

  1. Конструктор от размера. Ладно, но там кроме ошибки ещё есть вызовы delete, это лишние действия, и около них есть ошибка.
  2. Конструктор копий. Туда же: он может делегироваться в конструктор от размера.
  3. Копирующее присваивание. А оно вообще может переиспользовать конструктор копий + своп + деструктор, вообще дублирования нет.
  4. Чтение — можно через конструктор.

Хоп и нет места для ошибки!

А то ещё и можно вспомнить, чтобы вместо копирующего присваивания делать своп/перемещающее присваивание, и прочие.

И тогда кажется _resize с кодом освобождения памяти стал резко не нужен!

Про вывод то же самое: можно одной маленькой строчкой починить проблему с пробелами.

    data[0] = new int[rows * cols * sizeof(int)];

Меня в этой конструкции что-то смущает. Мне кажется ты используешь память на 25% максимум.

5.

comment:4 Changed 3 years ago by Arseny Yusufov

Owner: changed from Arseny Yusufov to Дмитрий Лапшин (lapshin)
Type: ожидаются исправленияожидается проверка

comment:5 Changed 3 years ago by Дмитрий Лапшин (lapshin)

Resolution: задача сдана
Status: assignedclosed

Не надо на пустую матрицу выводить пустую строчку, ну ладно.

Точка в ошибке загрузки файла.

Иии всё. 9.

Note: See TracTickets for help on using tickets.