Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C++] Comando new

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    4

    [C++] Comando new

    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

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    112
    Con le strutture dati dinamiche non puoi fare un passaggio per valore ma per indirizzo.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,338
    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 ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    4
    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.