get. Номер поля пишут в угловых скобках перед скобками вызова.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpTpGt 208 of 696 menu
◀ ▶

Чтение кортежа через std::get в C++

Элемент кортежа по позиции берут через шаблонную функцию get.

Номер поля пишут в угловых скобках перед скобками вызова: нулевой индекс соответствует первому типу в std::tuple<...>. Запишем кортеж из трех целых и выведем крайние:

#include <tuple> std::tuple<int, int, int> vals{1, 2, 3}; std::cout << std::get<0>(vals) << "\n"; std::cout << std::get<2>(vals) << "\n";

Индекс в std::get должен быть константой времени компиляции: в угловых скобках стоит литерал, а не переменная счетчика. Запишем кортеж строки и двух чисел и выведем строку:

#include <tuple> #include <string> std::tuple<std::string, int, int> tag{"ok", 4, 5}; std::cout << std::get<0>(tag) << "\n";

Дан кортеж:

std::tuple<int, char, int> data{9, 'k', 1};

Выведите второе поле через std::get<1>.

Создайте std::tuple<int, int, int> со значениями 2, 4, 6. Выведите сумму первого и третьего полей.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить