Array dinamici
volevo vedere se ho capito bene come funzionano. XD
Allora metto un esempio che ho scritto io:
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
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
È 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.