C++初心者なので, 誤りなどがあるかもしれません><; 構造化束縛 C++17には構造化束縛(Structured bindings)という機能が存在します1. これは, 配列2やstd::tuple3の各要素, クラス4のpublicな5各メンバ変数を分解して受け取る機能です. 下にサンプルコードを示します. #include <tuple> struct Hoge { int i; double d; unsigned int u; }; int main() { int a[] = {1, 3, 5}; auto [a1, a2, a3] = a; // 配列の各要素をを構造化束縛宣言で取り出す. // a1 == 1, a2 == 3, a3 == 5. auto t = std::make_tuple(1, "po", 5.0); auto [t1, t2, t3] = t;