std::function так же, как адрес свободной функции. Компилятор строит уникальный тип замыкания.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpCbLm 451 of 696 menu
◀ ▶

Лямбда в 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.

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