C ++ Vektorinitialisierung mit allen Nullen

C ++ Vektorinitialisierung mit allen Nullen
Initialisierung eines Vektors bedeutet, den Vektor praktischen Elementen während der Schöpfung zu geben. Das Erstellen eines Vektors kann Definition oder Erklärung sein. Die Definition ist, wenn das Speicher für die Elemente zugewiesen wird. Die Erklärung hat eine Nuance in seiner Bedeutung: Wenn ein Vektor ohne Speicherzuweisung für seine Elemente erstellt wird, ist das Deklaration. Wenn der Vektor erstellt wird und das Speicher für seine Elemente zugewiesen wird, ist dies auch eine Erklärung. In anderen Wörtern hat die Erklärung zwei Bedeutungen und kann Definition bedeuten.

Der Vektor ist eine Klasse in der Vektorbibliothek, die in das Programm enthalten ist. Aus derselben Vektorklasse können verschiedene Vektorobjekte instanziiert werden. Die Deklaration von Vektorobjekte ohne Speicherzuweisung für die Elemente ist die Instanziierung. Die Erklärung der Vektorobjekte mit Speicherzuweisung für die Elemente ist immer noch die Instanziierung.

Idealerweise erfolgt die Initialisierung während der Instanziierung. Wenn jedoch die Deklaration ohne Speicherzuweisung für die Elemente abgeschlossen wird, muss die Initialisierung durch Zuweisen oder Pushing_back (in), anfängliche Werte, durchgeführt werden.

Diese Informationen geben zwei Situationen für die Initialisierung an: Initialisierung mit Vektorerstellung als Definition oder Initialisierung nach der Deklaration ohne Definition durch Zuweisung (oder Pushing_back in).

Die Erstellung der Vektor kann in zwei Kategorien klassifiziert werden: Vektorerstellung mit Elementen und Vektorerstellung ohne Elemente. Das Ziel dieses Artikels muss interpretiert werden als: Wie man einen Vektor erstellt, wobei alle anfänglichen Elemente Null sind. Um einen Vektor mit allen Elementen Null zu haben, muss der Typ der Elemente int oder float oder deren Varianten sein. Wir werden in diesem Artikel Typ int verwenden.

Initialisierung bei Vektorerstellung mit Elementen

Erstellen mit Initializer_List

Initializer_List ist eine Liste von Werten desselben Typs, die durch Kommas getrennt sind und durch Zahnspangen abgegrenzt werden. Es gibt zwei Syntaxe zum Erstellen eines Vektors mit Initializer_List. Die Syntaxe sind:

Vector & Operator = (Initializer_List)
Und
Vektor (Initializer_List, Const Allocator & = Allocator ())

Um einen Vektor mit allen Nullen zu erstellen, sollten alle Werte in der Initializer_List einfach alle Nullen sein. Das folgende Programm zeigt dies anhand der ersten Syntax, in der die Initializer_List dem Vektorobjekt mit dem Zuordnungsoperator zugewiesen ist:

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

vectorVtr = 0, 0, 0, 0, 0;
für (int i = 0; iCout<Cout<Rückkehr 0;

Die Ausgabe ist:

0 0 0 0 0

Im Programmkopf wurde die Vektorbibliothek enthalten. Die Vektorerklärung wird in der ersten Aussage in der Hauptfunktion gefunden. Der Vektorinhalt wird im Rest des Codes in der Hauptfunktion angezeigt.

Für die zweite Syntax ist der zweite Parameter optional und wird nicht in das folgende Programm enthalten. Für diese zweite Syntax ist die Initializer_List das Argument der Vektorkonstruktorfunktion. Das folgende Programm zeigt die Verwendung der zweiten Syntax:

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

vectorVtr (0, 0, 0, 0, 0);
für (int i = 0; iCout<Cout<Rückkehr 0;

Die Ausgabe ist:

0 0 0 0 0

Der Eingang betrug fünf Nullen und der Ausgang sind die gleichen fünf Nullen.

Anzahl der im Voraus bekannten Vektorelemente

Die Anzahl der Vektorelemente kann im Voraus bekannt sein, die tatsächlichen Elemente sind jedoch möglicherweise nicht im Voraus bekannt. In diesem Fall sollte der Vektor weiterhin zu Nullen initialisiert werden. Die Vektorerstellungssyntax dafür ist:

Vektor (size_type n, const t & value, const allocator & = allocator ())

Der dritte Parameter ist optional und ist nicht Teil des folgenden Programms. Das erste Argument ist die Anzahl der Elemente und das zweite Argument ist der Standardwert, der in diesem Fall für alle Elemente Null ist. Das folgende Programm zeigt, wie diese Syntax für eine Vektorgröße von 5 verwendet wird:

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

vectorvtr (5, 0);
für (int i = 0; iCout<Cout<Rückkehr 0;

Die Ausgabe ist:

0, 0, 0, 0, 0

Initialisierung nach Vektorerstellung ohne Elemente

Hier wird vor der Initialisierung ein leerer Vektor erstellt. Die Syntax zum Erstellen eines leeren Vektors lautet:

vector () noexcept (noexcept (allocator ()): vector (allocator ())

Die Syntax, um einem Vektor mit der Initializer_List Anfangwerte zuzuweisen, lautet:

void zuweisen (initializer_list)

Das folgende Programm erstellt einen leeren Vektor und weist dann den Elementen Nullen zu:

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

vectorvtr;
vtr.zuweisen (0, 0, 0, 0, 0);
für (int i = 0; iCout<Cout<Rückkehr 0;

Die Ausgabe ist:

0 0 0 0 0

Die erste Anweisung in der Hauptfunktion erstellt den leeren Vektor. Die zweite Anweisung ist die Initialisierung unter Verwendung der Member -Funktion zuordnungs (). Das Argument der Funktion von ordnungsgemäß () ist die Initializer_List mit jedem Element in Null.

Die Syntax, um Standardwerten einem Vektor zuzuweisen, wenn die Anzahl der Elemente im Voraus bekannt ist, lautet:

void ordnen (size_type n, const t & u);

Mit dieser Syntax ist das erste Argument die Anzahl der Elemente im Vektor, und das zweite Argument ist der Standardwert. Für die Initialisierung mit Nullen machen Sie einfach den Standardwert Null. Denken Sie daran, dass dies zu tun ist, wenn ein leerer Vektor erstellt wurde. Das folgende Programm zeigt dies:

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

vectorvtr;
vtr.zuweisen (5, 0);
für (int i = 0; iCout<Cout<Rückkehr 0;

Die Ausgabe ist:

0 0 0 0 0

Zurückdrücken

Nachdem ein leerer Vektor erstellt wurde, kann eine beliebige Anzahl von Nullen für die Initialisierung in den Vektor gedrückt werden, wie im folgenden Programm dargestellt:

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

vectorvtr;
vtr.push_back (0); vtr.push_back (0); vtr.push_back (0);
vtr.push_back (0); vtr.push_back (0);
für (int i = 0; iCout<Cout<Rückkehr 0;

Die Ausgabe ist:

0 0 0 0 0

Vektor der Standard -Typwerte und Initialisierung

Wenn die Anzahl der Elemente im Voraus bekannt ist, sind die Standardwerte des Typs ohne die Angabe der Werte die Anfangswerte. Der Standardwert für den Typ int ist Null. Die Syntax für die Erstellung eines solchen Vektors ist:

explizite Vektor (size_type n, const allocator & = allocator ())

Das zweite Argument ist optional und kann weggelassen werden. Das erste Argument ist die Größe des Vektors. Wenn der Vektorentyp int ist, sind die Anfangswerte alle Nullen. Das folgende Programm zeigt dies:

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

vectorvtr (5);
für (int i = 0; iCout<Cout<Rückkehr 0;

Die Ausgabe ist:

0 0 0 0 0

Abschluss

Die Größe des Vektors in allen oben genannten Codeproben beträgt 5. Jede andere Zahl kann verwendet werden. Ein Vektor kann auf drei Hauptarten mit allen Nullen initialisiert werden: a) Verwenden Sie die Initializer_List, b) Verwenden Sie die Funktion "zuheiger () Vektorelement zu einem leeren Vektor (oder push_back ()) oder c) verwenden Sie int oder float als Vorlage als Vorlage Parameterspezialisierung für einen Vektor von zunächst nur Standardwerten.