Функция tie
Функция tie создает кортеж, элементами которого
являются ссылки на переданные в функцию аргументы.
Это позволяет работать с переменными как с кортежем,
например, для распаковки результатов работы других
функций или для лексикографического сравнения.
В параметры функции передаются переменные, которые
нужно связать в кортеж ссылок.
Синтаксис
std::tie(var1, var2, ...);
Пример
Давайте создадим кортеж из ссылок на переменные
a, b и c, а затем изменим
значение одной из переменных через кортеж:
#include <iostream>
#include <tuple>
using namespace std;
int main()
{
int a = 1;
int b = 2;
int c = 3;
auto res = tie(a, b, c);
get<0>(res) = 10;
cout << a << " " << b << " " << c << endl;
return 0;
}
Результат выполнения кода:
10 2 3
Пример
Давайте используем tie для распаковки
значений из кортежа tuple:
#include <iostream>
#include <tuple>
using namespace std;
int main()
{
tuple<int, int, int> tpl = {1, 2, 3};
int a, b, c;
tie(a, b, c) = tpl;
cout << a << " " << b << " " << c << endl;
return 0;
}
Результат выполнения кода:
1 2 3
Смотрите также
-
функция
make_tuple,
которая создает кортеж из значений -
функция
make_pair,
которая создает пару из значений -
функция
forward_as_tuple,
которая создает кортеж ссылок для идеальной передачи -
функция
make_any,
которая создает объект any