РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
758 of 815 menu

Функция make_tuple

Функция make_tuple создает и возвращает объект tuple, автоматически выводя типы его элементов из типов переданных аргументов. В параметры функции мы передаем значения, которые должны стать элементами кортежа. Количество параметров может быть произвольным, в том числе нулевым. Типы элементов выводятся по правилам распада типов: массивы и функции превращаются в указатели, а ссылки и cv-квалификаторы отбрасываются.

Синтаксис

std::make_tuple(value1, value2, ...)

Пример

Давайте создадим кортеж из трех элементов разных типов и выведем их на экран:

#include <iostream> #include <tuple> #include <string> using namespace std; int main() { auto tup = make_tuple(1, 2.5, "abcde"); cout << get<0>(tup) << endl; cout << get<1>(tup) << endl; cout << get<2>(tup) << endl; return 0; }

Результат выполнения кода:

1 2.5 "abcde"

Пример

Давайте создадим кортеж из чисел и распакуем его обратно в переменные с помощью функции tie:

#include <iostream> #include <tuple> using namespace std; int main() { auto tup = make_tuple(1, 2, 3); int a, b, c; tie(a, b, c) = tup; cout << a << " " << b << " " << c << endl; return 0; }

Результат выполнения кода:

1 2 3

Пример

Давайте создадим кортеж из двух строк и сравним его с другим кортежем, созданным функцией make_pair:

#include <iostream> #include <tuple> #include <string> using namespace std; int main() { auto tup1 = make_tuple(string("abcde"), string("12345")); auto tup2 = make_pair(string("abcde"), string("12345")); cout << (get<0>(tup1) == tup2.first) << endl; cout << (get<1>(tup1) == tup2.second) << endl; return 0; }

Результат выполнения кода:

1 1

Смотрите также

  • функция tie,
    которая распаковывает кортеж в переменные
  • функция make_pair,
    которая создает пару pair
  • функция forward_as_tuple,
    которая создает кортеж из ссылок
  • функция any_cast,
    которая извлекает значение из any
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить