Лямбда в std::function в C++
Лямбда с фиксированной сигнатурой подходит для std::function так же, как адрес свободной функции.
Компилятор строит уникальный тип замыкания,
но обертка с нужным шаблоном принимает его
без явного имени типа. Запишем
std::function<int(int)>, присвоим
лямбду и выведем результат:
#include <functional>
#include <iostream>
std::function<int(int)> fn = [](int value) {
return value * 2;
};
std::cout << fn(6) << "\n";
Создайте std::function<int(int)>
с лямбдой, прибавляющей 10 к
аргументу. Выведите результат для
7.