Matrix * Matrix::transpose()
{
Matrix *m = new Matrix(*this->numCols, *this->numRows, false);
for (int i = 0; i < *this->numRows; i++)
{
for (int j = 0; j < *this->numCols; j++)
{
m->setValue(j, i, this->getValue(i, j));
}
}
return m;
}
大家好。移位基质后我的记忆力不断增加。如何通过删除返回的m(如何操作?)或删除此 - &gt; ~Matrix()来解决这个问题?
答案 0 :(得分:2)
只是不要使用任何指针。这里没有理由使用new
。只是做
Matrix Matrix::transpose()
{
Matrix m {*this->numCols, *this->numRows, false};
for (int i = 0; i < *this->numRows; i++)
{
for (int j = 0; j < *this->numCols; j++)
{
m.setValue(j, i, this->getValue(i, j));
}
}
return m;
}
另外一件事,为什么你到处放this
?如果你想澄清一些东西是一个成员,只需加上前缀/后缀,如m_memberName
,mMemberName
或memberName_
。