Cuando una expresión lambda de C ++ tiene muchas capturas por referencia, el tamaño del objeto de función sin nombre se hace grande

El siguiente código:

int main() {
    int a, b, c, d, e, f, g;
    auto func = [&](){cout << a << b << c << d << e << f << g << endl;};
    cout << sizeof(func) << endl;
    return 0;
}

salidas 56 compiladas cong ++ 4.8.2

Como todas las variables locales se almacenan en el mismo marco de pila, recordar un puntero es suficiente para ubicar las direcciones de todas las variables locales. ¿Por qué la expresión lambda construye un objeto de función sin nombre tan grande?

Respuestas a la pregunta(3)

Su respuesta a la pregunta