Elimina Array 2D C ++

Elimina Array 2D C ++
Un array bidimensionale potrebbe essere costruito in due modi distinti: con memoria regolare o archiviazione gratuita. Se un programma sta eseguendo, ha accesso sia alla sua normale memoria che alla memoria aggiuntiva. Il codice non è costretto a utilizzare l'archiviazione gratuita, che è ulteriore memoria. Nella memoria normale, il programma genererà un array bidimensionale standard. Se il programma intende costruire lo stesso array bidimensionale nella memoria gratuita, può farlo in modo dinamico.

In ogni tipo di memoria, il metodo per definire un array bidimensionale varia. Basta lasciare che un normale array bidimensionale vada fuori portata per eliminarlo. Utilizzare efficacemente l'operatore Elimina [] per eliminare un array bidimensionale generato nella libreria libera. Discutiamo di come eliminare un array bidimensionale in C ++:

Elimina un semplice array bidimensionale

Per l'eliminazione di un array normale bidimensionale è necessario eliminare. Da un dominio nidificato, il programma indica questo:

#includere
Utilizzo dello spazio dei nomi std;
int main ()

if (1 == 1)
String arr2d [] [4] = "zz", "zy", "zx", "zw",
"Mm", "ml", "mk", "mj",
"Ii", "ih", "ig", "if",
"Pp", "po", "pn", "pm";
cout<< arr2D[1][1] <
restituzione 0;

Innanzitutto, dobbiamo introdurre il file di intestazione . Dichiariamo un array bidimensionale e specifichiamo gli elementi di questo array. L'istruzione 'cout' viene applicata alla prima riga e alla prima colonna. Quindi otteniamo l'elemento presente nella prima riga e nella prima colonna. A parte questo, tutti gli elementi vengono eliminati. Termina il programma inserendo il comando "return 0".

'Ml' è il risultato dopo aver eseguito il codice sopra. Il contesto nidificato è una sezione nella costruzione IF. Alla fine della sezione, l'array non è più valido. C'è stata un'indicazione di osservazione sotto la porzione di funzione nel codice. Il programma non compilerebbe se fosse stato eliminato e potrebbe apparire una notifica di errore.

L'array bidimensionale standard specificato nel corpo della funzione termina dopo la chiamata della funzione nel seguente codice:

#includere
Utilizzo dello spazio dei nomi std;
void fn ()

String arr2d [] [4] = "zz", "zy", "zx", "zw",
"Pp", "po", "pn", "pm",
"Ii", "ih", "ig", "if",
"Mm", "ml", "mk", "mj";
cout<< arr2D[1][1] <
int main ()

fn ();
restituzione 0;

All'inizio del programma, includiamo il file di intestazione . Lo spazio dei nomi standard viene utilizzato. Chiamiamo il vuoto fn (). Qui definiamo gli elementi dell'array bidimensionale. Utilizziamo l'istruzione "cout" per ottenere l'elemento richiesto dell'array definito.

Dopo tutto ciò, applichiamo la funzione principale (). All'interno del corpo di questa funzione, dichiariamo fn (). Alla fine viene utilizzato il comando "return 0".

A livello globale, assegnare un valore a un componente bidimensionale prima che la dichiarazione non sia stata consentita.

Elimina un array di puntatore di archiviazione gratuita bidimensionale costruito in modo dinamico

A livello più grande, l'allocazione prima della dichiarazione non sarebbe richiesta. È utile avere una definizione di array bidimensionale in un dominio nidificato nella funzione primaria C ++ per scopi pedagogici. L'espressione "Elimina [] array bidimensionale" viene utilizzata per eliminare un array 2-D specificato nel programma. Questa cancellazione deve verificarsi all'interno del suo dominio per alleviare la memoria e ridurre il sovrafrugazione della memoria. Con un ambito nidificato, il programma successivo esemplifica questo:

#includere
Utilizzo dello spazio dei nomi std;
int main ()

if (1 == 1)
String (*ptr2d) [5] = new String [5] [5] "zz", "zy", "zx", "zw",
"Pp", "po", "pn", "pm",
"Ii", "ih", "ig", "if",
"Mm", "ml", "mk", "mj",
"Ea", "eb", "ec", "ed", "ee";
cout<< ptr2D[0][0] <delete [] ptr2d;
cout<< ptr2D[0][0] <
restituzione 0;

Dopo aver incluso la libreria, viene utilizzato lo spazio dei nomi standard. La funzione principale () è ora dichiarata. Se la condizione viene realizzata. Il puntatore dell'array 2D è costruito. Successivamente, definiamo un array bidimensionale e forniamo i suoi elementi. Su righe zero e zero colonne, viene utilizzata l'istruzione "cout". La tecnica ELETE [] viene applicata. Abbiamo usato ancora una volta l'istruzione "cout" dopo averla eliminata. Esci dal programma eseguendo il comando 'return 0'.

Dopo aver eliminato gli elementi dell'array, il codice ritorna a nulla.

Array di memoria libera bidimensionale punt-a-pointer

Come array puntatore a pointer, potrebbe essere generato un array bidimensionale. In questa situazione, ognuna delle righe deve essere eliminata per prima, seguita dal restante array 1D. Nel C ++, l'istanza successiva dimostra questo:

#includere
Utilizzo dello spazio dei nomi std;
int main ()

stringa ** ptr2d = new string*[3];
ptr2d [0] = new string [5];
ptr2d [0] [0] = "zz"; ptr2d [0] [1] = "zy"; ptr2d [0] [2] = "zx"; PTR2D [0] [3] = "ZW";
ptr2d [1] = new string [5];
ptr2d [1] [0] = "mm"; ptr2d [1] [1] = "ml"; PTR2D [1] [2] = "MK"; PTR2D [1] [3] = "MJ";
ptr2d [2] = new string [5];
ptr2d [2] [0] = "ii"; ptr2d [2] [1] = "ih"; ptr2d [2] [2] = "ig"; ptr2d [2] [3] = "if";
cout<< ptr2D[2][2] <per (int i = 0; i< 3; ++i)
delete [] ptr2d [i];

delete [] ptr2d;
cout<< ptr2D[1][1] <restituzione 0;

Il file di intestazione viene importato all'inizio del programma. Lo spazio dei nomi predefinito è stato utilizzato. Il puntatore della stringa al puntatore viene prima costruito all'interno del corpo della funzione principale (). I componenti dell'array bidimensionale sono stati quindi definiti. Gli elementi sono specificati dalle loro righe e colonne. Per ottenere l'elemento sulla seconda riga e la seconda colonna dell'array, utilizziamo l'istruzione "cout".

Abbiamo impiegato il ciclo "per" per eliminare prima le righe dell'array. La variabile loop viene inizializzata e quindi viene applicata una condizione. Infine, abbiamo incrementato il valore della variabile loop. Utilizziamo il metodo ELETE [] per eliminare ulteriori entità. Il comando 'return 0' viene utilizzato per terminare il codice.

Per eliminare l'array bidimensionale nella libreria libera, prima, rimuovi tutte le righe usando il metodo Elimina [], quindi elimina l'array di puntatore 1-D principale.

Conclusione

In questo articolo, abbiamo descritto diverse metodologie per eliminare l'array 2D in C++. Basta lasciare che un array normale bidimensionale vada fuori portata per eliminarlo. Se l'array bidimensionale fosse in archiviazione gratuita, verrebbe eliminato utilizzando l'operatore Elimina [] per rilasciare la memoria nel dominio in cui è specificato. Se l'array bidimensionale nella libreria libera è stato costruito utilizzando la notazione standard, la cancellazione sarà semplice come "Elimina [] ArrayName bidimensionale."

Se fosse stato costruito come un puntatore a pointer, rimuovere prima le righe usando "Elimina [] ArrayName bidimensionale [i]" e quindi eliminare l'array 1-dimensionale esistente utilizzando "Elimina [] ArrayName bidimensionale ".