#16 closed ожидается проверка (задача сдана)
HA-1
Reported by: | Волков Даниил | Owned by: | Vladimir Rutsky |
---|---|---|---|
Priority: | проверка | Milestone: | |
Component: | HA#1 matrices | Version: | 1.0 |
Keywords: | ha-1, matrices | Cc: | volkov12@… |
Description
Please check my homework
Change History (7)
comment:1 Changed 8 years ago by
Milestone: | ha1-milestone1 → ha1-milestone2 |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 8 years ago by
Cc: | volkov12@… added |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Доброго времени суток!
Замечания 1-9 пофиксил.
comment:3 Changed 8 years ago by
Milestone: | ha1-milestone2 → ha1-deadline |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Замечания:
prevResult
вreadMatrix
не используется.
matbool readMatrix (const std::string &nameFile, double* prevResult)
- Данная строка выглядит подозрительно:
matbool result = readMatrix(s[0], result.first.p_Matrix);
вы в инициализации используете поле переменной, которую инициализируете.
- Было бы разумней убрать из
printMatrix
обработку ошибок и освобождение памяти для матрицы: пусть эта функция только выводит на экран матрицу, не меняя её. Это расширит способы её использования.
- В случае возникновения ошибки вы в некоторых случаях вызываете
eraseMatrix
от неинициализированной матрицы, что приводит к undefined behavior. Например, при вызове./matrices A_3x7.txt --add B_7x13.txt
.
comment:4 Changed 8 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
Note: See
TracTickets for help on using
tickets.
Замечания:
matrices.hpp
используетсяstd::string
, но<string>
не включается.inputStr_
,printMatrix_
,calculate_
)? Приватные функции/переменные для единицы трансляции необходимо пометить какstatic
, либо поместить в анонимную область видимости, но здесь не тот случай. В целом, в C++ для приватных функций/переменных есть специальный синтаксис (в отличие, например, от условно приватных атрибутов в языках программирования с полной интроспекцией, вроде Python).<cassert>
вmain.cpp
.assert(0);
это плохой способ обрабатывать ошибки. Невыполнениеassert
приводит к ненормальному, "мгновенному", завершению программы, при этом не будет раскручен стек и вызваны деструкторы объектов, что недопустимо в C++../matrices 5.txt --a 2.txt
программа падает с assert-омAssertion
fin.is_open()' failed.`