gpt4 book ai didi

c++ - 如何删除这个二维指针数组?制作析构函数

转载 作者:太空宇宙 更新时间:2023-11-03 10:33:24 26 4
gpt4 key购买 nike

malla = new Celula**[n + 2];  
for(int i = 0 ; i < n + 2 ; ++i){
malla[i] = new Celula*[m + 2];
for(int j = 0 ; j < m + 2 ; ++j){
malla[i][j] = new Celula[m];
}
}

我正在编写这段代码并像这样分配内存(我想要一个指向 Celula 的 n*m 指针数组,可以吗?现在我需要一个析构函数。

现在我不知道如何访问这个数组中的对象并且:

malla[i][j].setestado(true);

没用。

最佳答案

Don’t use pointers .

std::vector<std::vector<Celula> > malla(n, std::vector<Celula>(m));

// …
malla[1][2].setestado(true);

结果:一行而不是七行,使用更方便,任何地方都不需要delete

顺便说一句,在代码中使用英文标识符是很常见的。如果不出意外,这样做的好处是,如果人们与您说的语言不同,他们可以更好地帮助您。

关于c++ - 如何删除这个二维指针数组?制作析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9647776/

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