Array dinamici

Riuzaki
volevo vedere se ho capito bene come funzionano. XD

Allora metto un esempio che ho scritto io:

#include <iostream>

using namespace std;

int main()
{
   int n;
   
   cin >> n;
   
   int ** Pnt;
   
   Pnt = new int * [n];
   
   for(int i = 0; i < n; i++)
       Pnt[i] = new int [3];
  
   
   for(int i = 0; i < n; i++)
       delete [] Pnt[i];
   
   delete [] Pnt;
   system("pause");
   return 0;
}


metto un valore da input e genero una variabile puntatore di puntatore ad intero, quindi quest'ultimo lo faccio puntare ad un array monodimensinale costituito da puntatori a interi. fatto ciò con un ciclo for faccio puntare ciascun "puntatore" ad un array di 3 elementi, creando cosi un array multidimensionale [4x3] alla fine di tutto ciò per deallocarlo cancello prima i puntatori più interni, ossia quelli contenuti nell'array creato all'inizio e poi faccio delete sul puntatore Pnt. tutto questo che ho detto è corretto oppure ho detto un mare di cavolate? XD

Risposte
apatriarca
È corretto ma in C++ sono molto meno utili di quanto possa sembrare. Non sono tante le occasioni in cui si ha bisogno di un array multi-dimensionale con queste caratteristiche. Sinceramente non mi è mai capitato di fare una cosa del genere in più di 10 anni di programmazione.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.