Uso de la clase local en la función C ++

Veo algún uso de la estructura interna en la función c ++.

Hay una interfaz común IBase. Aquí está el código borrador.

class IBase
{
    virtual Method()=0;
}

vector<IBase*> baseList;

uego, una función definió una clase interna basada en esa IBase, y luego empujó el objeto de la clase interna a la BaseList.

void func()
{
    struct Object : public IBase
    {
        virtual Method()
        {
            // Method of Object in func
        }
    }

    IBase* base = new Object();
    baseList->push(base);

}

arece un uso extraño, pero una buena implementación del patrón de creación de mensajes / eventos.

Otros hilos pueden usar esta baseList para manejar el evento entrante.

¿Cuál es el alcance de la estructura interna del "Objeto struct"? Es muy interesante. ¿Hay algunos documentos hablando de esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta