Opened 3 years ago

Closed 3 years ago

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

WW #7

Reported by: yurko.andrej Owned by: Святослав Власов
Component: WW Matrix Version: 1.0
Keywords: Cc:

Description


Change History (1)

comment:1 Changed 3 years ago by Святослав Власов

Resolution: задача сдана
Status: assignedclosed
  1. Матрицы с разными размерами сравниваются неправильно, а иногда еще и к сегфолту приводят (когда размер текущей матрицы меньше, чем той, с которой сравнивают.
  2. Не надо так писать !(this->operator==(m));, можно просто !(*this == m);
  3. this->operator=(tmp); -> *this = tmp;
  4. Оператор *= лишний раз выделяет и копирует память. Сначала создается объект tmp, в него записывается результат, затем вызывается оператор =, который освобождает память под текущую матрицу, выделяет под новую и копирует туда результат, а затем при выходе из функции освобождается память под tmp. Если использовать swap-trick и вместо *this = tmp; делать swap(tmp};, то лишнего выделения-копирования памяти не случится.

7.5/10

Note: See TracTickets for help on using tickets.