map destructor



  • Abend,

    ich habe eine Klasse, die eine std::map beinhaltet, wobei die Map strings und Smartpointer speichert:

    class Foo {
    std::map<std::string, ID3D10EffectPtr> effects;
    };
    

    Muss ich da jetzt irgendwas spezielles im Foo Destructor schreiben? Oder wird beim Zerstören von Foo automatisch der map Dtor aufgerufen und dann wiederrum alle ID3D10EffectPtr Dtor?



  • mappla schrieb:

    Oder wird beim Zerstören von Foo automatisch der map Dtor aufgerufen und dann wiederrum alle ID3D10EffectPtr Dtor?

    Exakt. Sofern dein Smart-Pointer richtig aufräumt, hast du nichts zu befürchten.



  • Nexus schrieb:

    mappla schrieb:

    Oder wird beim Zerstören von Foo automatisch der map Dtor aufgerufen und dann wiederrum alle ID3D10EffectPtr Dtor?

    Exakt. Sofern dein Smart-Pointer richtig aufräumt, hast du nichts zu befürchten.

    Wenn es ein Smartpointer ist, also wenn es sich um eine Kllasse handelt. Wenn ID3D10EffectPtr einfach nur ein typedef auf einen Pointer ist, dann wird der pointer einfach gelöscht. Es wird NICHT automatisch delete aufgerufen.


Anmelden zum Antworten