Come si alloca dinamicamente una matrice Bidimensionale?
Come si alloca dinamicamente una matrice Bidimensionale?
Se non erro si deve fare cosi.
codice:int *a = new int[10][5];
forse erri...Originariamente inviato da XWolverineX
Se non erro si deve fare cosi.
codice:int *a = new int[10][5];
mi da questo errore:
assignment to `int *' from `int (*)[5]'
Se le righe e le colonne di interi richiesti sono
per allocarecodice:int righe = 10; int colonne = 5;
codice:int i; int **p = new int *[righe]; for (i=0; i<righe; i++) p[i] = new int [colonne];
per deallocare
codice:int i; for (i=0; i<righe; i++) delete [] p[i]; delete [] p;
nn capisco perche utilizziate la vecchia sintassi C in C++, al posto della STL (<vector>)
Live fast. Troll hard.
Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
Team Lead @Gameloft Barcelona
Pur essendo parte dello standard C++, le STL sono comunque librerie che mettono a disposizione nuovi tipi di dati basati sui template oltre che agli algoritmi standard che li riguardano.
Non costituiscono di per se' una "nuova sintassi" rispetto a quella indicata ma un "altro modo" per gestire dati "complessi".
L'uso di new e delete, non significa utilizzare la sintassi del C, di cui new e delete non sono operatori validi in quanto introdotti nel C++. Forse ti sei confuso con malloc e free ...
nn m isono confuso affatto, mi sto riferendo al fatto di gestire matrici tramite puntatori invece che tramite STL...
Live fast. Troll hard.
Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
Team Lead @Gameloft Barcelona
Beh, ma i puntatori non rappresentano una caratteristica della "vecchia sintassi C". Sono attualissimi anche nella sintassi C++ ...
cosa fa malloc? è un operatore o una funzione?
malloc e free sono le funzioni di libreria standard di C per l'allocazione e la liberazione di memoria.
In C++ sono sostituite dagli operatori new e delete