Opened 4 years ago

Closed 4 years ago

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

WW #14

Reported by: sukhodolskiy.maksim Owned by: Sokolov Viacheslav
Component: WW_exceptions Version: 2.0
Keywords: Cc:

Description


Change History (4)

comment:1 Changed 4 years ago by Sokolov Viacheslav

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

11 void readMatrixFromFile(const std::string &filename); make it a Matrix(filename) constructor? better not

это не конструктор, все верно. Можно сделать функцию статической (static Matrix readFromFile), если не нравится текущий интерфейс.

37 explicit MatrixException?(const char *err);

можно noexcept

10 explicit Matrix(std::vector<std::vector<int32_t>> &matrix);

лучше либо const&, либо &&, либо по значению

8 auto *regs = new Matrix[NUM_OF_REGS];

Matrix не сильно длиннее, чем auto, зато типобезопаснее. auto может вызывать проблемы, потому что тип может меняться с течением разработки, что потенциально может порождать ошибки.

"ACCESS: bad index"
тут точку по условию в конце просят

5 Matrix::Matrix(size_t rows, size_t cols) : rows_{rows}, cols_{cols},

6 data_{std::vector<std::vector<int32_t>>(rows, std::vector<int32_t>(cols,0))} {}

код, который может "уезжать" сколь угодно далеко направо - ужасен.
По этой причине есть смысл выравнивания иначе организовывать.

35 fin.close();

разве close не позовется в деструкторе?

56 if (row < 0
row >= static_cast<int>(this->rows_) col < 0 col >= static_cast<int>(this->cols_)) {

57 throw MatrixException?("ACCESS: bad index");
58 }

лучше вынести в отдельную функцию

comment:2 Changed 4 years ago by sukhodolskiy.maksim

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

comment:3 Changed 4 years ago by Sokolov Viacheslav

catch (const std::bad_alloc &err) {

48 throw err;
49 }

это больше не нужно

comment:4 Changed 4 years ago by Sokolov Viacheslav

Resolution: задача сдана
Status: assignedclosed
Note: See TracTickets for help on using tickets.