Wie ein Array in C ++ zu initialisieren

In C ++, eine lokale Variable mit einem gültigen Wert nicht das Leben beginnt, nicht einmal den Wert 0. Anders ausgedrückt, eine lokale Variable Müll enthält, bis Sie tatsächlich etwas speichern darin. Vor Ort sind deklariert Arrays das gleiche - jedes Element Müll enthält, bis Sie tatsächlich etwas zu zuweisen.

Sie sollten lokale Variablen initialisieren, wenn Sie sie deklarieren. Diese Regel gilt noch mehr für Arrays. Es ist viel zu einfach, nicht initialisierten Array-Elemente zuzugreifen denken, dass sie gültige Werte sind.

# 147-lokale Variable # 148- bezieht sich auf die normalen Variablen innerhalb einer Funktion deklariert. C ++ Puristen nennen tatsächlich diese automatische Variablen sie aus statischen Variablen zu unterscheiden.

Glücklicherweise kann eine kleine Reihe zu dem Zeitpunkt initialisiert werden sie mit einer Initialisiererliste deklariert wird. Der folgende Codeausschnitt zeigt, wie dies geschehen ist:

float floatArray [5] = {0.0, 1.0, 2.0, 3.0, 4.0} -

Dies initialisiert floatArray [0] 0 ist, floatArray [1] bis 1,0, floatArray [2] bis 2,0, und so weiter.

C ++ polstert die Initialisierung Liste mit 0s, wenn die Anzahl der Elemente in der Liste kleiner ist als die Größe des Arrays ist. In der Tat kann eine leere Initialisiererliste verwendet werden, um ein Array zu 0 zu initialisieren:

int nArray [128] = {} - // für alle 0-en initialisieren Array

Die Anzahl der Initialisierung Konstanten können die Größe des Arrays bestimmen. Zum Beispiel könnten Sie haben festgestellt, dass floatArray hat fünf Elemente nur durch die Werte innerhalb der geschweiften Klammern zu zählen. C ++ kann auch (hier ist zumindest eine Sache C ++ tun können, für sich selbst) zu zählen.

float floatArray [] = {0.0, 1.0, 2.0, 3.0, 4.0} -

Menü