C++ Tuple

Da Andreabont's Wiki.

Arrow left blue.pngVoce principale: C++ Contenitori.

In C++11 una tupla è una variabile formata da più tipi eterogenei. Concettualmente è molto simile alla struct del C. Esiste un caso particolare che consiste in una tupla con soli due elementi, ed è chiamato pair.

Definire un tipo tupla

#include <tuple>
std::tuple<double, char, std::string> variabile;

Inserire dati in una tupla

auto variabile = std::make_tuple(3.8, 'A', "Ciao Mondo");

Accedere al contenuto di una tupla

Accesso posizionale

double a = std::get<0>(variabile);
char b = std::get<1>(variabile);
std::string c = std::get<2>(variabile);

Unpack

double a;
char b;
std::string c;

std::tie(a, b, c) = variabile;

Unpack C++17

auto [a, b, c] = variabile;