Имена полей std::tuple в C++
Кортеж фиксированной длины можно разобрать на отдельные имена так же, как пару.
Число идентификаторов в квадратных скобках
должно совпадать с числом типов в std::tuple.
Запишем кортеж из трех целых, разложим его
и выведем среднее:
#include <tuple>
std::tuple<int, int, int> nums{2, 4, 6};
auto [a, b, c] = nums;
std::cout << b << "\n";
Порядок имен следует порядку типов в шаблоне. Запишем кортеж строки и двух символов и выведем оба символа:
#include <tuple>
#include <string>
std::tuple<std::string, char, char> tag{"xy", 'a', 'b'};
auto [label, left, right] = tag;
std::cout << left << right << "\n";
Дан кортеж:
std::tuple<int, int, int> pts{1, 0, 1};
Разложите его на три переменные и выведите сумму всех трех.
Создайте std::tuple<std::string, int, int>
со строкой "row" и числами 3, 5.
Получите три имени через structured binding
и выведите произведение двух целых.