0 Tage Serie
cpp / intermediate
Snippet

Objekt-Dekomposition mit strukturierten Bindungen

Strukturierte Bindungen ermöglichen es, Elemente von Structs, Pairs oder Arrays in einer einzigen Zeile in einzelne benannte Variablen zu entpacken. Dies verbessert die Lesbarkeit und reduziert redundanten Code beim Arbeiten mit zusammengesetzten Datentypen.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
struct Player {
int score;
std::string nickname;
};
Player get_top_player() {
return {999, "ProCoder"};
}
int main() {
// Directly unpack struct members into local variables
auto [currentScore, currentName] = get_top_player();
std::cout << currentName << " has " << currentScore << " points." << std::endl;
return 0;
}
Erklärung
1
auto [currentScore, currentName] = get_top_player();
Entpackt die Felder des Player-Structs in zwei neue Variablen: currentScore und currentName.
2
std::string nickname;
Das Ziel-Struct-Element, das der zweiten Bindungs-Variablen zugeordnet wird.