L'utilisation de locaux de classe en C++ la fonction

Je vois un certain usage interne struct en c++ la fonction.

Il y a une interface commune IBase. Voici le projet de code.

class IBase
{
    virtual Method()=0;
}

vector<IBase*> baseList;

Alors une fonction définie une classe interne basé sur cette IBase, puis poussez l'intérieur de la classe de l'objet dans le baseList.

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

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

}

Il semble étrange d'utilisation, mais une bonne mise en œuvre de message/événement de création de modèle.

Autres threads peut-être utiliser cette baseList pour gérer l'événement entrant.

Quelle est la portée de l'interne de la structure de "struct Objet"? C'est très intéressant. S'il y a des documents à parler à ce sujet?

InformationsquelleAutor giggle | 2011-04-19