Test auf freien Speicher?



  • Ich möchte in einem Konstruktor den Speicher für mehrere Mebervariablen mit new alloziieren. Wenn jetzt aber ne Exception flattert ist das Obkjekt nicht konstruiert und kann nicht wieder zerstört werden->Speicherloch. Gibts ne Funktion, die Testet ob genügend Speicher für eine bestimmte Klasse (z.B. über sizeof) vorhanden ist????

    mfg
    Glamdring



  • auto_ptr -bzw. für jede resource einen wrapper.
    dann hast du damit keine probleme

    (wenn new fehlschlägt gibt es kein speicherloch)



  • Ok, dann hab ich das falsch verstanden, der Konstruktor soll diese Klasse in nen smart_ptr packen, code:

    void humans::D::b_Arbeiter()
    {
    	owner->units.push_back(all::smart_ptr<all::Warrior>(new Arbeiter(owner)));
    }
    

    owner ist ein Zeiger auf ne "Verwalterklasse", units ist in dieser Klasse eine std::list, all::smart_ptrall::Warrior ist der Smart_ptr und das (owner) braucht man für den Konstruktor von Arbeiter.


Log in to reply