Arrays und Vektoren in C++?

Dultus, UserMod Light   12.03.2024, 12:50

Was ist die Frage? Metafragen ("bekomme Probleme, kann jemand helfen?") sind nicht Zielführend für Deine Frage.

UltimativDomi 
Fragesteller
 12.03.2024, 13:05

Die Frage ist ob mir jemand Arrays und Vektoren erklären kann

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Betrachte Arrays als eine Sammlung von Variablen gleichen Typs. Die Anzahl wird schon von Anfang an festgelegt (das heißt die Sammlung kann später nicht mehr verkleinert oder vergrößert werden) und jeder Eintrag kann über einen Index angesprochen werden, der mit der Zählung bei 0 beginnt.

Beispiel:

std::array<int, 5> numbers;
numbers[0] = 123; // set first entry
numbers[1] = 456; // set second entry

std::cout << numbers[0];

Hier wird ein Array angelegt, welches fünf Ganzzahlen aufnehmen kann. Folglich liegt der Indexbereich zwischen 0 und 4 (beide Grenzen inklusiv).

Nur die ersten beiden Einträge werden gesetzt. Der Wert des ersten Eintrags wird ausgegeben.

Wenn man die Werte der Einträge von Beginn an schon kennt, kann man das Array auch folgendermaßen erstellen:

std::array<int> numbers { 1, 2, 3, 4, 5 };

Die Angabe der Größe kann in diesem Fall weggelassen werden, denn der Compiler kann die Anzahl der Elemente nun selbst bestimmen.

Ein Vektor ist ähnlich zu einem Array. Bei ihm kann allerdings die Anzahl an aufnehmbaren Werten nachträglich/dynamisch erweitert werden.

Beispiel:

std::vector<int> numbers;
numbers.push_back(123);
numbers.push_back(456);

std::cout << numbers[0];

Am Anfang hat der Vektor eine Kapazität von 0. Mit Hinzufügen der zwei Werte steigt sie auf zwei.

Kurzum sind Arrays statisch und können nicht erweitert haben. Sie haben eine feste Größe.

Vektoren sind dynamisch und können nach Belieben erweitert werden.