JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=9a829aefbae8d1e4f8bf91420a5361cdMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Kann mir mal eben schnell jmd. sagen wie man mit "list&

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
X-FILE
Super JLI'ler



Anmeldedatum: 12.07.2003
Beiträge: 349

Medaillen: Keine

BeitragVerfasst am: 04.09.2003, 13:09    Titel: Kann mir mal eben schnell jmd. sagen wie man mit "list& Antworten mit Zitat

"erase" benutzt Wink

Ja ich krieg irgendwie nur Fehlermeldungen, wenn ich erase auch nur irgendwie nutzen will. Ich sehe dass doch richtig, dass erase den gerade aktiven Iteratorzeiger loescht? Also den Eintrag auf den jeniger zeigt meine ich....

Danke.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 04.09.2003, 14:05    Titel: Antworten mit Zitat

Siehst du richtig, du kannst auch eine Sequenz löschen.

list.erase(it); // Element it wird gelöscht
list.erase(it,jt); // Elemente it-jt werden gelöscht

it (-jt) ist danach natürlich ungültig.
Du bekommst einen iterator auf das jeweils folgende Element zurück.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 04.09.2003, 14:14    Titel: Antworten mit Zitat

Dabei ist es noch wichtig zu sagen, dass erase nicht delete für dich aufruft(falls du mit Zeigern arbeitest..).
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
X-FILE
Super JLI'ler



Anmeldedatum: 12.07.2003
Beiträge: 349

Medaillen: Keine

BeitragVerfasst am: 04.09.2003, 16:08    Titel: Antworten mit Zitat

Ahm Hazel. Was meinst du damit?

Ich wuerds gerne so machen, das ich mit nem iterator durch die Liste gehe und bei einem bestimmten Objekt (resp. Zeiger darauf), dieses dann loeschen moechte....
Was muss ich da mit "delete" beachten?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 04.09.2003, 16:39    Titel: Antworten mit Zitat

Ein Code sagt mehr als 1000 Worte. ;)

Code:

void CGarbageCollector::Update()
{
   list<IGarbageCollected *>::iterator iter;

   for(iter = m_Clients.begin(); iter != m_Clients.end(); )
   {
      if((*iter)->_DeleteMe)
      {
         IGarbageCollected * tmp = *iter;
         ++iter;
         tmp->Kill(); // @X-FILES: Hier müsstest du delete tmp und erase aufrufen!!
      }
      else
      {
         ++iter;
      }
   }
}

[Editiert]
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 04.09.2003, 18:24    Titel: Antworten mit Zitat

Das soll bedeuten, dass die Objekte, die du dynamisch erzeugst und in die Liste einsortierst beim Aufruf von erase() zwar aus der Liste verschwinden, der reservierte Speicher aber nicht gelöscht wird.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
X-FILE
Super JLI'ler



Anmeldedatum: 12.07.2003
Beiträge: 349

Medaillen: Keine

BeitragVerfasst am: 04.09.2003, 18:53    Titel: Antworten mit Zitat

Ahhhh ok Wink

Danke. Aber ich kanns eh ned so einfach machen wie ich erhoffte. Irgendwie weigert er sich zu loeschen und stuerzt ab mit Memory Leak... *seufz*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum