structured binding (tsz. structured bindings)
std::tuple
, std::pair
, vagy egy struct tagjaiból) kényelmes, “szétszedős” szintaxissal.
A structured binding azt jelenti, hogy például egy std::pair
vagy std::tuple
elemeit külön változókba tudod szétbontani egyszerűen.
#include <iostream>
#include <tuple>
#include <utility>
struct Pont {
int x;
int y;
};
int main() {
std::pair<int, std::string> p = {42, "alma"};
auto = p; // structured binding
std::cout << szam << ", " << szoveg << std::endl;
Pont pt{10, 20};
auto = pt; // szintén működik struktúrákkal
std::cout << a << ", " << b << std::endl;
auto t = std::make_tuple(1, 2.5, "szöveg");
auto = t;
std::cout << i << ", " << d << ", " << s << std::endl;
return 0;
}
Structured binding = szétbontás egyszerű szintaxissal több változóba.
Olyan, mintha azt mondanád:
> “Add ide a tuple vagy struct tagjait külön változókba, ne kelljen get<>
-et vagy pont-operátort használnom.”