Witam
Jestem w trakcie pisania klasy Matrix - do wykonywnia operacji na macierzach. Zastanawiam się, czy dobrze przeciążyłem operator +=
Mam takie coś
template<typename T>
Matrix<T> Matrix<T>::operator+=( T value )
{
//Matrix<T>* addedMatrix = new Matrix<T>(this->rows,this->columns);
for (int i=0;i<this->rows;i++)
{
for (int j=0;j<this->columns;j++)
{
datavector.at(i).at(j) += value;
}
}
return this;
}
Jeżeli dobrze rozumiem to w momencie gdy zostanie wywołane return this zostanie odpalony konstruktor kopiujący i zostanie zwrócona macierz. Czy jest jakiś sposób żebym mógł zwrócić referencję na this ??
Matrix<T>& Matrix<T>::operator+=( T value )
czy to raczej nie jest dobry pomysł i powinienem zostawić wersję obecną ??