Вызов callable объектов (функции, лямбды, member функции) требует разного синтаксиса. Но можно унифицировать вызовы с помощью std::invoke.
🔥 До:
// Разный синтаксис для разных типов
func(); // функция
obj.method(); // метод
(obj.*ptr_to_member)(); // указатель на метод
lambda(); // лямбда
✅ После:
// Единый синтаксис для всех callable
std::invoke(func);
std::invoke(&Class::method, obj);
std::invoke(lambda);
std::invoke(ptr_to_member, obj);
✏️ Упростили работу с callable объектами?
Библиотека C/C++ разработчика
#буст