Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

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

Дз 1 матрицы Лучко Сергей

Reported by: Luchko Serega Owned by: Vladimir Rutsky
Priority: проверка Milestone:
Component: HA#1 matrices Version: 1.0
Keywords: Cc: luga2012@…

Description

Здравствуйте. Проверьте пожалуйста первое дз.
http://trac.compscicenter.ru/svn/cpp16/luchko.sergej/

моя почта luga2012@…

Change History (5)

comment:1 Changed 8 years ago by Vladimir Rutsky

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

Здравствуйте!

Замечания:

  1. Нельзя использовать exit() для нормального выхода из программы. При вызове exit() не раскручивается стек и не вызываются деструкторы, т.е. не происходит никакой (вероятно важной) деинициализации объектов.
  1. В #pragma once не должно быть в конце точки с запятой:
#pragma once;
  1. Используйте C++ версии C заголовочных файлов: <cstdlib> вместо <stdlib.h> (если вам вообще необходимы).
  1. Ставьте отступ у содержимого класса (а вот public/private/protected обычно без отступа):
class Matrix {
    size_t rows;
    size_t cols;
    double ** data;

public:
    static double ** allocateMatrix(size_t rows, size_t cols);

    ...
}
  1. Не включайте не являющиеся необходимыми заголовочные файлы. Например, <string> в matrices.hpp и matrices.cpp не нужен.
  1. Не стоит явно вызывать деструктор класса:
     this->~Matrix();

учтите, что вызов деструктора у объекта дважды (а второй раз он скорее всего будет вызван, т.к. ваши объекты создаются на стеке) это undefined behavior.

Вынесите код для освобождения памяти в отдельную функцию и вызывайте её (в том числе из деструктора).

  1. Не используйте альтернативное описание операторов в C++, используйте || вместо or:
     if (other.rows != rows or other.cols != cols)

Альтернативное написание операторов предполагается для систем, где сложно набирать символы, вроде |.

comment:2 Changed 8 years ago by Luchko Serega

Здравствуйте. Поправил.

comment:3 Changed 8 years ago by Luchko Serega

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

comment:4 Changed 8 years ago by Vladimir Rutsky

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

Замечания:

  1. Следует использовать тип size_t для индексов:
     for (int i = 1; i < rows; ++i) {
             data[i] = data[i - 1] + cols;
     }

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

comment:5 Changed 7 years ago by Vladimir Rutsky

Milestone: ha1-milestone2

Milestone ha1-milestone2 deleted

Note: See TracTickets for help on using tickets.