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
Nist 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
- std::array fester Größe
- std::span-Grundlagen
- Spans an Funktionen übergeben
- Grenzen und Subspans