【发布时间】:2018-06-03 19:29:24
【问题描述】:
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(怎么做?)或删除 this->~Matrix() ?
【问题讨论】:
-
最简单的方法是返回
Matrix而不是指向新对象的指针。 -
你们太快了,谢谢你回答我!我会尝试这两个。
-
你为什么使用手动内存管理而不是智能指针?
-
@BarbarosBaturay 不,您不需要任何类型的指针。当问题使用动态分配时,智能指针不是解决方案。解决方案是不使用动态分配。