gpt4 book ai didi

c++ - 返回后删除指针

转载 作者:行者123 更新时间:2023-11-30 03:23:03 26 4
gpt4 key购买 nike

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() 来解决这个问题?

最佳答案

只是不要使用任何指针。没有理由在这里使用 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_memberNamemMemberNamememberName_

关于c++ - 返回后删除指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50670217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com