cpp / intermediate
Snippet
Stack-basierte Container mit fester Größe
Der Container std::array bietet die Leistung von herkömmlichen C-Arrays, aber mit der Sicherheit eines Containers. Im Gegensatz zu Roh-Arrays zerfällt er nicht in einen Pointer und unterstützt die Überprüfung von Bereichsgrenzen mittels der .at()-Methode.
snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>#include <array>void processBuffer() {std::array<int, 5> data = {10, 20, 30, 40, 50};try {int val = data.at(2);std::cout << "Value: " << val << std::endl;} catch (const std::out_of_range& e) {std::cerr << "Access error: " << e.what() << std::endl;}}
Erklärung
1
std::array<int, 5> data = {10, 20, 30, 40, 50};
Definiert ein Array mit fester Größe von 5 Integern direkt auf dem Stack.
2
data.at(2);
Greift auf das dritte Element mit einer Bereichsprüfung zu und wirft eine Exception, falls der Index ungültig ist.