0Pricing
C++ Academy · Lektion

std::array fester Größe

Ein sicherer Ersatz für C-Arrays

std::array fester Größe ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C++ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Ein sicheres C-Array

std::array<T, N> ist ein Array fester Größe, das seine eigene Größe kennt und sich wie ein vollwertiger Container verhält. Binden Sie <array> ein.

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {1, 2, 3};
    std::cout << a[0] << " " << a.size() << "\n";
}

Kennt seine Größe

Im Gegensatz zu einem rohen Array, das zu einem Zeiger verfällt, gibt std::array seine Länge immer über size() an.

#include <iostream>
#include <array>
int main() {
    std::array<double, 4> a{};
    std::cout << a.size() << "\n"; // 4
}

Bereichsbasierte for-Schleife

Da es sich um einen vollständigen Container handelt, können Sie mit einer bereichsbasierten for-Schleife darüber iterieren.

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {10, 20, 30};
    for (int x : a) std::cout << x << " ";
    std::cout << "\n";
}

at() mit Bereichsprüfung

at(i) löst bei einem ungültigen Index std::out_of_range aus, während operator[] keine Prüfung durchführt. Wählen Sie je nach Sicherheitsanforderungen.

#include <iostream>
#include <array>
int main() {
    std::array<int, 2> a = {1, 2};
    try { a.at(5); }
    catch (const std::out_of_range&) { std::cout << "out of range\n"; }
}

front, back und data

Praktische Zugriffsfunktionen: front() und back() geben das erste bzw. letzte Element zurück; data() liefert einen rohen Zeiger für C-APIs.

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {7, 8, 9};
    std::cout << a.front() << " " << a.back() << "\n";
}

Kopierbar per Wert

std::array lässt sich mit = problemlos kopieren, wobei jedes Element kopiert wird. Das ist anders als bei rohen Arrays, die zu Zeigern verfallen.

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {1, 2, 3};
    std::array<int, 3> b = a; // full copy
    b[0] = 99;
    std::cout << a[0] << " " << b[0] << "\n"; // 1 99
}

Funktioniert mit Algorithmen

Standardalgorithmen akzeptieren die Iteratoren von std::array; hier sortieren wir das Array.

#include <iostream>
#include <array>
#include <algorithm>
int main() {
    std::array<int, 4> a = {4, 1, 3, 2};
    std::sort(a.begin(), a.end());
    for (int x : a) std::cout << x << " ";
    std::cout << "\n";
}

Füllen und Vergleichen

fill(value) setzt jedes Element; außerdem unterstützt std::array den elementweisen Vergleich mit ==.

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a{};
    a.fill(5);
    std::array<int, 3> b = {5, 5, 5};
    std::cout << (a == b) << "\n"; // 1
}

Die Größe ist Teil des Typs

Die Länge N ist im Typ festgelegt. Daher akzeptiert eine Funktion, die std::array<int,3> erwartet, kein Array der Größe 4. Später hilft dabei std::span.

Stack-Speicherzuweisung

std::array speichert seine Elemente direkt im Objekt (typischerweise auf dem Stack), ohne Heap-Allokation. Dadurch eignet es sich schnell und vorhersehbar für Daten mit fester Größe.

Array oder vector

Verwenden Sie std::array, wenn die Größe zur Compile-Zeit bekannt und unveränderlich ist. Verwenden Sie std::vector, wenn sich die Größe zur Laufzeit ändern kann.

Kurze Überprüfung

Überprüfen Sie Ihr Verständnis von std::array.

Zusammenfassung

Sie haben std::array kennengelernt:

  • Container mit fester Größe und eigener Größenangabe, ohne Heap-Allokation.
  • at() prüft die Grenzen; [] tut dies nicht.
  • Kopierbar, vergleichbar und mit Algorithmen verwendbar.
  • Die Größe N ist Teil des Typs.

Häufig gestellte Fragen

Ist die Lektion „std::array fester Größe“ kostenlos?

Ja — der vollständige Text von „std::array fester Größe“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C++ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „std::array fester Größe“?

Ein sicherer Ersatz für C-Arrays Du übst C++ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C++ Academy zu starten?

Keine Vorkenntnisse erforderlich. C++ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „std::array fester Größe“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C++ Academy-Lektion Code schreiben und ausführen?

Ja. Jede C++ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. std::array fester Größe
  2. std::span-Grundlagen
  3. Spans an Funktionen übergeben
  4. Grenzen und Subspans
← Zurück zu C++ Academy