Datenstrukturen in c++: Modernes Array

in StemSocial3 years ago

In diesem Beitrag möchte ich ein praktisches Beispiel vorstellen, wie man die "modernen" Arrays aus c++ benutzen kann. Diese Datenstruktur befindet sich seit c++11 in der Standardbibliothek und kann mit array importiert werden. Die Theorie, was genau ein Array ist, habe ich in einen meiner Beiträge vorgestellt:

https://steemit.com/deutsch/@ozelot47/datenstrukturen-das-array

In der modernen Variante gibt man als Argument zunächst den Datentyp an, gefolgt von der gewünschten Größe des Arrays. Ein Vorteil der modernen Arrays ist, dass bei einer Grenzüberschreitung ein Fehler ausgegeben wird, wenn man ausversehen ein Index anspricht der nicht definiert ist. Weiterhin werden Funktionen zum modifzieren und für den Zugriff bereitgestellt.

#include <iostream>
#include <array>

void modern_array(){
    /* instead of using: int container[5]; */
    std::array<int, 5> container;

    /* fill the array with a loop */
    for(int n = 0; n < static_cast<int>(container.size()); n++){
        container[n] = n*n;
    }

    /* std::array has implemented functions to access and modify the array.
       It also checks for out of range access*/
    container.at(2) = 666;

    /* print all values to console */
    for(auto& elem : container){
        std::cout << elem << "\n";
    }
}

int main(){
    modern_array();
    return 0;
}