In grundlegenden C + +-Programmierung, Variablen und Arrays werden vom Programmierer direkt im Code deklariert . Doch beim Bau Datenstrukturen wie Arrays dynamisch Größenänderung , muss der Programmierer lernen, dynamisch Speicher zuweisen während Codeausführung . Arrays auf diese Weise zugeordnet haben ein paar Vorteile , wie z. B. nicht-konstanten Länge bei der Deklaration . Der Programmierer kann zuteilen Arrays skalare Datentypen und vom Benutzer erstellte Klassen identisch . Mit Zeigern und Keywords in der Standard-Bibliothek gebaut , C + + macht Speicherzuweisung und Löschung unkompliziert. Things You
Text Editor
C /C + + Compiler (zB Microsoft Visual Studio oder GCC)
brauchen anzeigen Weitere Anweisungen
1
Erstelle Zeiger der Datentyp die Array enthält . Zum Beispiel, um dynamisch ein Array von ganzen Zahlen , muss eine ganze Zahl Zeiger existieren , um das Array verweisen:
int * arr_ptr ;
Der Zeiger " arr_ptr " erlaubt nun ein Programmierer , um tiefe verweisen Speicher bei der Ausführung .
2
Verwenden Sie den Zeiger , um Speicher zuzuweisen . Die "neue" Schlüsselwort, das spezifisch für die C + +-Bibliotheken (und nicht in Standard- C) ist behauptet Speicher bei der Ausführung für den Einsatz der Berufung Zeiger :
arr_ptr = new int [6];
< p> Hier greift das Schlüsselwort "new" einen Block von sechs Integer - große Abschnitte des Speichers. Doch im Gegensatz zu Arrays deklariert werden, bevor Laufzeit dynamische Arrays mit variabler Eingang deklariert werden können :
int i = 6;
arr_ptr = new int [ i] ;
ermöglicht dem Programmierer, die auf Arrays müssen anstatt vorgegebenen Raum Bezeichnung basierend können die Größe zu erstellen.
3
Weisen Sie ein Array von benutzerdefinierten Datentypen erstellt . Nach C + + Speicherzuweisung Verfahren kann der Programmierer Arrays der Datentypen deklariert in getrennten Klassen erstellen :
int i = 5;
NewClass * class_ptr ;
class_ptr = new NewClass [i] ; .
der Zeiger " class_ptr " wird eine Variable des " NewClass " Datentyp , wahrscheinlich in einer Klasse Beschreibung in einer anderen Datei definiert verweisen
4
löschen der Array. Wenn ein Array nicht mehr benötigt wird ( oder wurde in ein anderes Array kopiert wurde, möglicherweise während einer Größenänderung ) der Programmierer sollten sicherstellen, um es zu löschen . Zugeordnete Speicher, der nicht gelöscht wird, aber nicht mehr referenziert , kann bis wertvollen Speicherplatz und im Laufe der Zeit verursachen , was als ein Memory Leak bekannt
int i = 5; .
NewClass * class_ptr ;
class_ptr = new NewClass [i] ;
löschen class_ptr [];
Nun wird das Array " class_ptr " referenziert gelöscht werden und der Speicher freigegeben für andere Zwecke.