std::invocable. Первый параметр концепта - вызываемый объект, остальные - типы аргументов.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpCoIv 428 of 696 menu
◀ ▶

Вызываемый объект в C++

Корректный вызов с перечисленными типами гарантирует std::invocable.

Первый параметр концепта - вызываемый объект, остальные - типы аргументов. Подключите #include <concepts>, опишем шаблон run_once и выведем результат лямбды:

#include <concepts> #include <iostream> template<typename F, typename... Args> requires std::invocable<F, Args...> auto run_once(F callable, Args... args) { return callable(args...); } int main() { auto step = [](int n) { return n + 10; }; std::cout << run_once(step, 5) << "\n"; return 0; }

Напишите шаблон apply с std::invocable<F, int>, вызывающий F с int. Передайте лямбду, умножающую аргумент на 2, и выведите результат для 6.

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