Supprimer le tableau 2D C ++

Supprimer le tableau 2D C ++
Un tableau bidimensionnel pourrait être construit de deux manières distinctes: avec une mémoire régulière ou un stockage gratuit. Si un programme s'exécute, il a accès à la fois à sa mémoire habituelle et à sa mémoire supplémentaire. Le code n'est pas obligé d'utiliser le stockage gratuit, qui est une mémoire supplémentaire. En mémoire régulière, le programme générera un tableau bidimensionnel standard. Si le programme a l'intention de construire le même tableau bidimensionnel dans le stockage gratuit, il peut le faire dynamiquement.

Dans chaque type de mémoire, la méthode de définition d'un tableau bidimensionnel varie. Laissez simplement un tableau bidimensionnel normal sortir de la portée pour le supprimer. Utilisez efficacement l'opérateur de suppression [] pour supprimer un tableau bidimensionnel généré dans la bibliothèque gratuite. Discutons de la façon de supprimer un tableau bidimensionnel en C ++:

Supprimer un tableau simple en deux dimensions

Pour un tableau normal bidimensionnel pour sortir de la portée, il faut supprimer. Par un domaine imbriqué, le programme l'indique:

#inclure
Utilisation de Namespace 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";
couter<< arr2D[1][1] <
retour 0;

Tout d'abord, nous devons introduire le fichier d'en-tête . Nous déclarons un tableau bidimensionnel et spécifions les éléments de ce tableau. L'instruction «cout» est appliquée à la première ligne et à la première colonne. Nous obtenons donc l'élément présent sur la première ligne et la première colonne. En dehors de cela, tous les éléments sont supprimés. Nous terminons le programme en entrant la commande «return 0».

«ML» est le résultat après avoir exécuté le code ci-dessus. Le contexte imbriqué est une section dans la construction de la construction. À la fin de la section, le tableau n'est plus valide. Il y a eu une indication de remarque sous la partie fonction du code. Le programme ne se compilerait pas s'il avait été éliminé, et une notification d'erreur peut apparaître.

Le tableau bidimensionnel standard spécifié dans le corps de la fonction se termine après l'appel de fonction dans le code suivant:

#inclure
Utilisation de Namespace Std;
void fn ()

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

fn ();
retour 0;

Au début du programme, nous incluons le fichier d'en-tête . L'espace de noms standard est utilisé. Nous appelons le void fn (). Ici, nous définissons les éléments du tableau bidimensionnel. Nous utilisons la déclaration «cout» pour obtenir l'élément requis du tableau défini.

Après tout cela, nous appliquons la fonction principale (). À l'intérieur du corps de cette fonction, nous déclarons fn (). À la fin, la commande «return 0» est utilisée.

Au niveau mondial, attribuer une valeur à un composant bidimensionnel avant la déclaration n'a pas été autorisé.

Supprimer un tableau de pointeur de stockage gratuit en deux dimensions construit dynamiquement

Au plus grand niveau, l'allocation avant la déclaration ne serait pas requise. Il est utile d'avoir une définition de tableau bidimensionnelle dans un domaine imbriqué dans la fonction primaire C ++ à des fins pédagogiques. L'expression «supprimer [] un tableau bidimensionnel» est utilisée pour supprimer un tableau 2D spécifié dans le programme. Cette suppression doit se produire dans son domaine pour soulager la mémoire et réduire le débordement de la mémoire. Par une portée imbriquée, le programme ultérieur l'illustre:

#inclure
Utilisation de Namespace 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";
couter<< ptr2D[0][0] <supprimer [] ptr2d;
couter<< ptr2D[0][0] <
retour 0;

Après avoir inclus la bibliothèque, l'espace de noms standard est utilisé. La fonction principale () est désormais déclarée. Si la condition est accomplie. Le pointeur du tableau 2D est construit. Après cela, nous définissons un tableau bidimensionnel et fournissons ses éléments. Sur les lignes zéro et zéro colonnes, l'instruction «cout» est utilisée. La technique de suppression [] est appliquée. Nous avons utilisé la déclaration «cout» une fois de plus après l'avoir supprimé. Nous quittons le programme en exécutant la commande 'return 0'.

Après avoir supprimé les éléments du tableau, le code ne revient à rien.

Tableau de mémoire en deux dimensions de pointeur à pointeur

En tant que tableau de pointeur à pointeur, un tableau bidimensionnel pourrait être généré. Dans cette situation, chacune des lignes doit être éliminée en premier, suivie du tableau 1D restant. Dans le C ++, l'instance suivante le démontre:

#inclure
Utilisation de Namespace Std;
int main()

String ** ptr2d = new String * [3];
ptr2d [0] = nouvelle chaîne [5];
ptr2d [0] [0] = "zz"; ptr2d [0] [1] = "zy"; ptr2d [0] [2] = "zx"; ptr2d [0] [3] = "zw";
ptr2d [1] = nouvelle chaîne [5];
ptr2d [1] [0] = "mm"; ptr2d [1] [1] = "ml"; ptr2d [1] [2] = "Mk"; Ptr2d [1] [3] = "MJ";
ptr2d [2] = nouvelle chaîne [5];
ptr2d [2] [0] = "ii"; ptr2d [2] [1] = "ih"; ptr2d [2] [2] = "ig"; ptr2d [2] [3] = "if";
couter<< ptr2D[2][2] <pour (int i = 0; i< 3; ++i)
supprimer [] ptr2d [i];

supprimer [] ptr2d;
couter<< ptr2D[1][1] <retour 0;

Le fichier d'en-tête est importé au début du programme. L'espace de noms par défaut a été utilisé. Le pointeur de chaîne vers le pointeur est d'abord construit à l'intérieur du corps de la fonction Main (). Les composants du tableau bidimensionnel ont ensuite été définis. Les éléments sont spécifiés par leurs lignes et colonnes. Pour obtenir l'article sur la deuxième ligne et la deuxième colonne du tableau, nous utilisons l'instruction «cout».

Nous avons utilisé la boucle «pour» pour supprimer d'abord les rangées du tableau. La variable de boucle est initialisée, puis une condition y est appliquée. Enfin, nous avons augmenté la valeur de la variable de boucle. Nous utilisons la méthode Supprimer [] pour éliminer les entités supplémentaires. La commande 'return 0' est utilisée pour mettre fin au code.

Pour éliminer le tableau bidimensionnel dans la bibliothèque gratuite, supprimez d'abord toutes les lignes à l'aide de la méthode de suppression [], puis supprimez le tableau de pointeur principal 1-D.

Conclusion

Dans cet article, nous avons décrit différentes méthodologies pour supprimer le tableau 2D en C++. Laissez simplement un tableau normal bidimensionnel sortir de la portée pour le supprimer. Si le réseau bidimensionnel était en stockage gratuit, il serait éliminé à l'aide de l'opérateur de suppression [] pour libérer la mémoire dans le domaine où il est spécifié. Si le réseau bidimensionnel dans la bibliothèque libre a été construit en utilisant une notation standard, alors la suppression sera aussi simple que «Supprimer [] un nom de bidimensionnel."

S'il avait été construit comme un pointeur à pointeur, supprimez d'abord les lignes en utilisant «Supprimer [] un array-nom de dimension [i]», puis supprimez le tableau 1 dimension existant en utilisant «Supprimer [] un nom de tableau bidimensionnel ".