Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

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

Операции над матрицами

Reported by: nemchenko.evgenij Owned by: Vladimir Rutsky
Priority: проверка Milestone:
Component: HA#1 matrices Version: 1.0
Keywords: Cc:

Description


Change History (4)

comment:1 Changed 8 years ago by Vladimir Rutsky

Milestone: ha1-milestone1ha1-milestone2
Type: ожидается проверкаожидаются исправления

Замечания:

  1. Включайте локальные файлы проекта используя #include "file.hpp", вместо конструкции для системных файлов #include <string>:
#include <matrices.hpp>
  1. В данной задаче можно было игнорировать потенциальные ошибки выделения памяти (т.к. это первая задача и вы не должны были пройти необходимый материал для этого), но раз уж вы написали, то прокомментирую:
 matrix_ = new double * [cnt_rows_]();
 try {
     matrix_[0] = new double[cnt_rows_ * cnt_cols_]();

     for (size_t i = 1; i < cnt_rows_; ++i) {
         matrix_[i] = matrix_[i - 1] + cnt_cols_;
     }
 } catch (...) {
     delete [] matrix_;
 }

Здесь стоило обернуть в try/catch минимальную часть, которая может бросить исключения (цикл for, например, не может бросить исключение).
Ловить стоит конкретные исключения (std::bad_alloc в случае ошибок выделения памяти).
Если вы хотите просто безусловно освободить память в случае ошибки, то не забывайте пробрасывать далее пойманное исключение (throw; внутри catch), а лучше сразу использовать RAII (умные указатели, например, которые нельзя использовать в первой задаче).

comment:2 Changed 8 years ago by nemchenko.evgenij

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

comment:3 Changed 8 years ago by Vladimir Rutsky

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

Решение зачтено.

comment:4 Changed 7 years ago by Vladimir Rutsky

Milestone: ha1-milestone2

Milestone ha1-milestone2 deleted

Note: See TracTickets for help on using tickets.