хочу массив лямбд как поле класса
void(*)()
Потому что нужно читать по cdecl
не получится. Лямда имеет уникальный тип. Даже две одинаковые лямбды имеют разный тип
Нужно использовать std function
о, вроде норм
Ну можно использовать и голую указатель на функцию либо указатель на функцию член, но в этом случае лямбда не не сможет захватывать переменные
но по дефолту лучше std::function, переписать более эффективно(но сложно) всегда можно. кмк если у человека привычка сразу писать темплейтный код и указатели на функции - он, скорее всего, не будет задавать тут простых вопросов =)
А std::move_only_function нормальный?
лично я еще не использовал, но по идее новая лучше (при условии что не предполагается копирование), и часто очень нужна
Обсуждают сегодня