fre*_*inn 1 c++ arrays pointers delete-operator
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];
}
}
Run Code Online (Sandbox Code Playgroud)
我正在制作这段代码并且我像这样分配内存(我想要一个n*m
指向Celula的指针数组,好吗?现在我需要一个析构函数.
现在我不知道如何访问此数组中的对象,并且:
malla[i][j].setestado(true);
Run Code Online (Sandbox Code Playgroud)
不起作用.
std::vector<std::vector<Celula> > malla(n, std::vector<Celula>(m));
// …
malla[1][2].setestado(true);
Run Code Online (Sandbox Code Playgroud)
Upshot:一行而不是七行,更容易使用,无需delete
任何地方.
另外,在代码中使用英语标识符是常规的.如果不出意外,这样做的好处是,如果人们不会说与您相同的语言,那么人们可以更好地帮助您.
归档时间: |
|
查看次数: |
23003 次 |
最近记录: |