PDA

Visualizza la versione completa : [C++] Comando new


Dasser
13-08-2016, 13:45
Salve ragazzi, avrei un problemino con l'allocazione dinamica. Il fatto è che dovrei svolgere un programma in cui mi viene chiesto di trattare un array bidimensionale attraverso funzioni. Il problema è che non riesco a passare alla funzione un array le cui dimensioni non siano state fissate a priori. Ho letto un po' in giro che potrei usare il comando new e delete ma francamente non ci ho capito molto. Mi dite come allocare un array con new e in particolare un array bidim, e poi come trattarlo nel passaggio a funzione? Grazie

semplice77
13-08-2016, 18:23
Con le strutture dati dinamiche non puoi fare un passaggio per valore ma per indirizzo.

oregon
13-08-2016, 21:46
Ma tu hai già studiato new e delete? Mostra cosa hai capito postando il codice con la new e delete e cosa non hai capito ...

Dasser
13-08-2016, 22:42
In verità io non ho ancora affrontato questi comandi in quanto non sono nel mio programma ma purtroppo ho ricevuto il compito di risolvere un esercizio che pretende il passaggio di un array a funzione. In tutto ciò l'array non dovrebbe essere dimensionato a priori nel codice. Per quel che so new è un comando che ha un prototipo simile:
new tipo [dimensione](valoreiniziale).

Quindi se voglio allocare dinamicamente una matrice dovrei impostare così, se non erro:

int n; // cardinalità della matrice quadrata
int** array; // punta al primo elemento di un array di puntatori che puntano al primo elemento di array unidimensionali

array = new int*[n];

Poi non saprei come procedere

Loading