Speichern von erzeugten Objekten
-
Hallo,
Ich habe gerade einen "Denk-Knoten",...
Ich erzeuge dynamisch Komponenten und möchte mir aber merken wieviel bzw. die jeweilige Adresse süeichern um jederzeit daraufzuzugreifen,..Nur wie setze ich dies am besten um ?
-
Hallo,
die Adresse mit nem Zeiger und die Anzahl mit nem Zähler, oder nich?
-
Warum nicht gleich std::vector ?
std::vector< TEdit* > vEdits; TEdit * newEdit; for( int i = 0; i < 10; i++ ) { newEdit = new TEdit( this ); //... vEdits.puch_back( newEdit ); }
-
Sorry für Doppelpost
So greifst du dann später auf die Objekte zu:
TEdit pEdit; for( int i = 0; i < vEdits.size(); i++) { pEdit = vEdits[i]; // mach irgendwas }vEdits.size() ist in diesem Fall die Anzahl der Elemente.
-
Um
- einen Fehler zu korrigieren (TEdit*)
- eine Warnung zu vermeiden (Vergleich von signed und unsigned)
- eine Funktion nur einmal aufrufen zu müssen (vector::size())
folgender (angepasster) CodeTEdit* pEdit; //pEdit sollte ein Pointer sein size_t size(vEdits.size()); //size() gibt size_t (unsigned int) zurück for( size_t i = 0; i < size; ++i) { pEdit = vEdits[i]; // mach irgendwas }