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.