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 loopfor (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.