Эта лямбда не имеет состояния (не замыкания), поэтому это обычная функция.
Следовательно, ее сохранение - такая же проблема, как и сохранение любой функции.В общем, это невозможно, но пока вы загружаете его обратно в тот же процесс, это может быть возможно на практике, просто reinterpret_cast
- указав указатель функции на char*
и прочитав достаточное количествобайт.Однако это будет крайне непереносимо и может вообще не работать на некоторых архитектурах или с некоторыми компиляторами.
Опять же: Не существует стандартного способа обработки кода как данных .
С другой стороны, есть библиотеки символьных выражений, которые позволяют захватывать дерево выражений с использованием обычного синтаксиса кода, но тогда вы вообще не имеете дело с функтором (кода нет, только данные).