En base programmation C + + , les variables et les tableaux sont déclarés par le programmeur directement dans le code. Cependant, lors de la construction des structures de données telles que des tableaux de redimensionnement dynamique , le programmeur doit apprendre à allouer dynamiquement de la mémoire lors de l'exécution de code. Les tableaux attribués de cette manière ont quelques avantages, tels que la longueur non constante à déclaration. Le programmeur peut allouer des tableaux de types de données scalaires et les classes créées par l'utilisateur de façon identique. Utilisant des pointeurs et des mots clés intégrés dans la bibliothèque standard , C + + rend l'allocation de mémoire et de suppression simple. Choses que vous devez
éditeur de texte C /C + + Compiler (tel que Microsoft Visual Studio ou GCC )
Afficher plus Instructions
1
créer un pointeur de la type de donnée, le tableau contiendra . Par exemple, pour créer dynamiquement un tableau d'entiers , un pointeur entier doit exister pour référencer le tableau:
int * arr_ptr ;
Le pointeur " arr_ptr " va maintenant permettre à un programmeur de référencer profonde mémoire lors de l'exécution .
2
Utilisez le pointeur pour allouer de la mémoire . Le "nouveau" mot-clé, qui est spécifique aux bibliothèques C + + (et pas disponible dans la norme C) affirme mémoire lors de l'exécution pour l'utilisation du pointeur de la vocation :
arr_ptr = new int [ 6] ;
< p> ici, le " nouveau " mot-clé saisit un bloc de six sections entier de la taille de la mémoire. Cependant, contrairement aux tableaux déclarés avant l'exécution, les tableaux dynamiques peuvent être déclarées avec entrée variable :
int i = 6;
arr_ptr = new int [ i ] ;
permet au programmeur de créer des tableaux permettant de redimensionner fondé sur le besoin plutôt que la désignation de l'espace prédéterminé.
3
allouer un tableau de types de données créées par l'utilisateur . Suite à C + + procédure d'allocation de mémoire , le programmeur peut créer des tableaux de types de données déclarées dans des classes distinctes :
int i = 5;
NewClass * class_ptr ;
class_ptr = new NewClass [i] ; .
le pointeur " class_ptr " fera référence à une variable de la " NewClass " type de données , le plus souvent définie dans une description de classe dans un autre fichier
4
Supprimer l' tableau. Quand un tableau est plus nécessaire (ou a été copié dans un autre tableau , peut-être lors d'une opération de redimensionnement ) le programmeur doit s'assurer de le supprimer. Alloue de la mémoire qui n'est pas supprimé , mais n'est plus référencé , peut prendre jusqu'à mémoire précieuse et , au fil du temps , provoquer ce qu'on appelle une fuite de mémoire
int i = 5; .
NewClass * class_ptr ;
class_ptr = new NewClass [i] ;
suppression class_ptr [];
maintenant, le tableau référencé par " class_ptr " sera supprimé, et la mémoire libérée pour d'autres usages .