Единый вызов std::apply в C++
Функция std::apply из <tuple>
раскладывает кортеж в список аргументов
вызываемого объекта.
Первым аргументом идет функция или лямбда,
вторым - std::tuple с тем же числом
и типами параметров. Подключим заголовки
и выведем сумму двух чисел из кортежа:
#include <iostream>
#include <tuple>
auto add = [](int left, int right) {
return left + right;
};
std::tuple<int, int> args{2, 5};
std::cout << std::apply(add, args) << "\n";
Создайте лямбду, умножающую два int.
Кортеж std::tuple<int, int>
заполните числами 4 и 6.
Выведите результат std::apply.