У меня есть класс, который регистрирует лямбда-функции (как std::function<void()>
) в качестве обратных вызовов для событий, которые он будет генерировать. я использую shared_ptr
для управления памятью, и мне нужно быть осторожным, чтобы не создавать эталонные циклы. Я не хочу, чтобы поставщик событий владел обратными вызовами, поэтому он хранит std::weak_ptr<std::function<void()>>
,
К сожалению, я не уверен, как сделать один из них! Сделать владение shared_ptr
Например, мне нужно передать указатель на неизвестную, выделенную кучу лямбду. Есть ли версия new
для лямбды?
Задача ещё не решена.
Других решений пока нет …