c++ - How to delete this 2-dimensional array of pointers? Making a destructor -
malla = new celula**[n + 2];   for(int = 0 ; < n + 2 ; ++i){        malla[i] = new celula*[m + 2];      for(int j = 0 ; j < m + 2 ; ++j){          malla[i][j] = new celula[m];      } } i'm making code , allocate memory (i want n*m array of pointers celula, okay? need destructor.
now don't know how access object in array and:
malla[i][j].setestado(true); doesn't work.
seriously consider advice of @konrad's . if anyhow want go raw array's , can :
to deallocate :
 for(int = 0 ; < n + 2 ; ++i)  {  for(int j = 0 ; j < m + 2 ; ++j) delete[] malla[i][j] ;  delete[] malla[i];  }  delete[] malla; to access object :
 malla[i][j][_m].setestado(true); edit :
if malla[i][j] pointer object destructor/deallocation :
 for(int = 0 ; < n + 2 ; ++i)  {  for(int j = 0 ; j < m + 2 ; ++j) delete malla[i][j] ;  delete[] malla[i];  }  delete[] malla; access object/member can done : (*malla[i][j]).setestado(true); or malla[i][j]->setestado(true);
Comments
Post a Comment