0 Tage Serie
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.