Размер замыкания (лямбда-функция) отличается от std::function или указателя. Исследуются размеры std::function, лямбда-выражений и указателей на функции. В этом примере std::function имеет размер 32 байта.
Согласно https://en.cppreference.com/w/cpp/utili ... ction.html, хранимый вызываемый объект std::function называется target. Но я не вижу здесь ничего другого из того, что на самом деле хранится.
В соответствии с моим любимым чат-ботом недели (gemini) std::function хранит...
- 8 байт для указателя на функцию
- 8 байт для указателя this
- 8 байт для указателя на виртуальную таблицу
- 8 байт для небольшого объекта буфер оптимизации
Подробнее здесь: https://stackoverflow.com/questions/798 ... tdfunction
Мобильная версия