Arrays und Vektoren in C++?
Ich bin noch ein Programmieranfänger und lerne C++
Die Grundlegenden Sachen wie Datentypen, In-Output, If-Abfragen, for-Schleifen und Switch-Case.
Aber bei Arrays und Vektoren bekomme ich Probleme vielleicht kann ich auch einfach nicht genug logisch denken dann mir trotzdem jemand helfen
Was ist die Frage? Metafragen ("bekomme Probleme, kann jemand helfen?") sind nicht Zielführend für Deine Frage.
Die Frage ist ob mir jemand Arrays und Vektoren erklären kann
2 Antworten
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.