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.