gpt4 book ai didi

c++ - 我如何在 C++ 中取消分配它?

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

我创建了一个 Nodes 的二维数组(Node 类在一个单独的文件中),我想知道如何准确地解除分配(如下)。我已经尝试了很多方法,但内存泄漏仍然出现。

board = new Node * [r];

//creats a column for each element in the row
for(int i = 0; i < r; i++) {
board [i] = new Node [c];
}

(r 是行,c 是列)

我这样做过:

for(int i = 0; i < r; i++) {

delete [] board[i];
}

delete [] board;

但显然这还不够

最佳答案

您拥有的代码是正确且足够的。但是,最好使用 RAII这样您就不需要显式调用 delete根本没有(也许甚至没有 new )。例如,您可以创建 std::vector<std::vector<Node>> ,或者更好的是,某种矩阵类(不幸的是不在标准库中)。

关于c++ - 我如何在 C++ 中取消分配它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27438086/

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