0 Tage Serie
cpp / intermediate
Snippet

Strukturierte Bindungen für die Array-Iteration

Strukturierte Bindungen ermöglichen es, Objekte in einem einzigen Schritt in mehrere Variablen zu entpacken. Wenn sie in einer bereichsbasierten For-Schleife über ein Array von Strukturen verwendet werden, wird der Code viel lesbarer, da den einzelnen Elementen sofort aussagekräftige Namen zugewiesen werden.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
struct DataPoint {
int id;
double value;
};
int main() {
DataPoint measurements[] = {{1, 98.6}, {2, 101.2}, {3, 99.5}};
// Unpacking struct members directly in the loop
for (const auto& [currentId, currentVal] : measurements) {
std::cout << "ID: " << currentId << " | Val: " << currentVal << std::endl;
}
return 0;
}
Erklärung
1
const auto& [currentId, currentVal]
Zerlegt die Struktur in zwei Alias-Variablen, die mit den tatsächlichen Elementen verknüpft sind.
2
for (... : measurements)
Iteriert durch jedes Element des measurements-Arrays.