Tracks
/
C++
C++
/
Lehrplan
/
Arrays und Vektoren
Ar

Arrays und Vektoren in C++

3 Übungen

Über Arrays und Vektoren

Arrays und Vektoren

C++ bietet verschiedene Container, um Elemente desselben Typs in einer festen Reihenfolge zu speichern. Für Container mit fester Größe gibt es std::array, und std::vector lässt sich dynamisch in der Größe anpassen.

Konstruktion

Wenn du ein Array oder einen Vektor deklarierst, musst du den Typ der Elemente angeben, die der Container aufnimmt. Arrays brauchen außerdem eine Größe. Schau dir diese Beispiele an, um die Initialisierung der beiden Containertypen zu sehen:

#include <array>
#include <string>

// std::array<element_type, size> variable_name {list of elements}
std::array<std::string, 3> indie_rock {"yeah", "yeah", "yeah"};
// indie_rock contains the elements "yeah" three times

Vektoren belegen meist mehr Speicher, weil sie Platz für weiteres Wachstum reservieren. Du musst keine Größe angeben:

#include <vector>

// std::vector<element_type> variable_name {list of elements}
std::vector<int> countdown {3, 2, 1};
// my_vector contains the elements 3, 2 and 1

Hinweis: Die genauen Hintergründe des Template-Konzepts musst du noch nicht kennen, es bekommt weiter unten im Lehrplan ein eigenes Konzept.

Zugriff auf Elemente

Vektoren und Arrays teilen sich dieselben Funktionen für den Zugriff auf ihre Elemente. Mit den Memberfunktionen front und back bekommst du das erste und das letzte Element des Containers. Außerdem gibt es at und den []-Operator, um auf bestimmte Elemente zuzugreifen.

countdown[0];
// => 3
countdown.at(2);
// => 1
countdown[1] = 4;
// countdown now contains 3, 4 and 1
indie_rock.back() = "yeahs";
// indie_rock is now "yeah", "yeah", "yeahs"

Hinweis: Wenn du eine Position wählst, die außerhalb des Bereichs deines Containers liegt, kann [] zu undefiniertem Verhalten führen. Die Funktion at würde eine Ausnahme auslösen, was dir auf lange Sicht das Leben leichter machen könnte.

Vektormodifikatoren

Da ein vector nicht in seiner Größe festgelegt ist, kannst du Elemente hinzufügen oder entfernen. Zwei häufig verwendete Funktionen dafür sind emplace_back und pop_back.

std::vector<std::string> witches {"Holly", "Alyssa", "Shannen"};
witches.pop_back();
// Shannen is no longer with the witches
witches.emplace_back("Rose");
// Rose has joined the team

Kapazität

Mit der Memberfunktion empty kannst du prüfen, ob ein Container leer ist. Wenn du die Anzahl der Elemente wissen willst, kannst du size verwenden.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab

Lerne Arrays und Vektoren

Das Üben ist gesperrt

Schalte 4 weitere Übungen frei, um Arrays und Vektoren zu üben