Opened 6 years ago
Closed 6 years ago
#175 closed ожидаются исправления (задача сдана)
ДЗ#1. Матрицы.
Reported by: | basharin.egor | Owned by: | rutsky,grabovoy.philipp |
---|---|---|---|
Priority: | проверка | Milestone: | ha1-deadline |
Component: | HA#1 matrices | Version: | 1.0 |
Keywords: | Cc: | eaniconer@… |
Description
Прошу проверить домашнее задание 1.
Change History (7)
comment:1 Changed 6 years ago by
Milestone: | ha1-milestone1 → ha1-milestone2 |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 6 years ago by
""" 3. Зачем вы возвращаете константную матрицу в const Matrix operator+(const Matrix& rhs) const;? Данный метод вернёт временный неименованный объект (prvalue) и мне не понятно зачем добавлять ему константность. """
Добавляю константность для того, чтобы нельзя было сделать так:
(A + B) = C;
comment:3 Changed 6 years ago by
В (A + B) = C
нет ничего страшного (по крайней мере не должно быть).
Конкретно (A + B) = C
не особо осмысленно, но, например следующий код:
Matrix & m = A + B; ... m += ... m /= ...
для избежания лишнего копирования матрицы --- осмысленен*.
*С новым стандартом и современными компиляторами часто в данном случае можно обойтись без использования ссылки на матрицу, но не всегда.
comment:4 Changed 6 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:5 Changed 6 years ago by
Milestone: | ha1-milestone2 → ha1-deadline |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Замечания:
- В этой конструкции нет смысла:
try { // ... } catch (...) { throw; }
Вы с тем же успехом можете просто не ловить исключение здесь.
Замечания:
nrow_ = 0u;
.nrow_ = 0;
не должно приводить ни к каким предупреждением.const Matrix operator+(const Matrix& rhs) const;
? Данный метод вернёт временный неименованный объект (prvalue) и мне не понятно зачем добавлять ему константность.Init()
иoperator>>
.