Eigenschaften von `std::array`
- Feste Größe: Die Größe eines `std::array` ist zur Kompilierungszeit festgelegt und kann zur Laufzeit nicht geändert werden.
- Typensicherheit: `std::array` kennt den Typ der Elemente und stellt sicher, dass nur Elemente dieses Typs gespeichert werden können.
- Effizient: `std::array` wird direkt im Speicher angelegt und besitzt keinen Overhead wie dynamische Container (z.B. `std::vector`).
- Zugriffsmöglichkeiten: Es bietet verschiedene Methoden für den Zugriff auf seine Elemente, wie `at()`, `[]`, `front()`, `back()` und `data()`.

Beispiel zur Deklaration und Nutzung eines `std::array`

#include <iostream>
#include <array>
int main() {
    // Ein Array mit fünf Ganzzahlen
    std::array<int, 5> myArray = {1, 2, 3, 4, 5};
    // Zugriff auf Elemente mit Index
    std::cout << "Erstes Element: " << myArray[0] << std::endl;
    // Zugriff mit der at() Methode (wirft eine Ausnahme bei ungültigem Index)
    std::cout << "Zweites Element: " << myArray.at(1) << std::endl;
    // Durchlaufen des Arrays mit einer Schleife
    std::cout << "Alle Elemente: ";
    for (int i : myArray) {
        std::cout << i << " ";
    }
    std::cout << std::endl;
    // Zugriff auf das erste und letzte Element
    std::cout << "Erstes Element: " << myArray.front() << std::endl;
    std::cout << "Letztes Element: " << myArray.back() << std::endl;
    // Zugriff auf den zugrundeliegenden C-Array-Pointer
    int* dataPtr = myArray.data();
    std::cout << "Zugriff über den Zeiger: " << dataPtr[2] << std::endl;
    return 0;
}


Vorteile der Verwendung von `std::array`
1. Sicherheit: Die Verwendung von `std::array` ist sicherer als die Verwendung von C-Arrays, da der Typ und die Größe des Arrays während der Kompilierung geprüft werden.
2. Zusätzliche Funktionen: `std::array` bietet zusätzliche Funktionen zur Manipulation und Inspektion des Arrays, die bei einem C-Array manuell implementiert werden müssten.
3. Einfachheit: Es integriert sich besser in die C++-Standardbibliothek und kann mit anderen STL-Komponenten verwendet werden.

 Wann sollte man `std::array` verwenden?
`std::array` eignet sich hervorragend für Szenarien, in denen die Array-Größe zur Kompilierungszeit bekannt ist und nicht geändert werden muss. Es ist eine gute Wahl, wenn man die Sicherheit und die Funktionalität der C++-Standardbibliothek nutzen möchte, während man dennoch die Effizienz von Arrays beibehält. Für dynamische Arrays, deren Größe sich zur Laufzeit ändern soll, ist jedoch `std::vector` besser geeignet.

Zuletzt geändert: Donnerstag, 15. August 2024, 05:51