JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

dynamisch neue arrayelemente erzeugen

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


Alter: 36
Anmeldedatum: 16.07.2003
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 03.01.2004, 12:51    Titel: dynamisch neue arrayelemente erzeugen Antworten mit Zitat

Hi,
Ich hab ne echte Idiotenfrage (glaub ich), aber ich komm´nicht drauf.
Ich will einzelne Knoten aus einer Datei Laden, weiß abern icht wieviele drin sind. Deßhalb mus ich dynamisch neue Knoten erzeugen
Code:
struct node
{
int bla;
*node l,r;
...
};

Jetzt brauch ich ja aber Pointer, um auf die Knoten zuzugreifen können.
Da ich abern icht weiß wieviele Knoten das werden, und im Programm dann auch noch welche dazu kommen, kann ich nicht fest sagen
Code:

typedef node Knoten;
Knoten* bla;
bla = new Knoten[const int];

sondern muss an dieses Handle immer neue anhängen.Wenn ich aber
Code:

bla = new Knoten[5];
...
bla = new Knoten[6];

mach´ dann hab ich ein Memory Leak; also habe ich probiert es so zu machen:
Code:

Knoten* bla[6];
bla[6] = new Knoten;

Das tut aber auch nicht, weil ich ja für dei Handles einen konstanten Wert brauche, der auch irgedwann berschritten ist.

Langer Rede kurzer Sinn: Was soll ich tun?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kampfhund
Super JLI'ler


Alter: 42
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 03.01.2004, 13:04    Titel: Antworten mit Zitat

du kannst entweder einen STL Vector benutzen oder
du kannst realloc() benutzen.

Realloc() nimmt dein vorhandenes Array und vergrößert es.
Der STL Vector mach afaik das gleiche, bietet aber, da es eine template klasse ist, zusätzliche funktionen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Nahar
Senior JLI'ler


Alter: 36
Anmeldedatum: 16.07.2003
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 03.01.2004, 13:08    Titel: Antworten mit Zitat

Gut, ich geh mal MSDNnen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MadMax82
Mini JLI'ler



Anmeldedatum: 31.12.2003
Beiträge: 9

Medaillen: Keine

BeitragVerfasst am: 04.01.2004, 22:23    Titel: Antworten mit Zitat

Vector ist in diesem Fall doch unsinn wen schon STL dan wenigstens List. Kannst dir auch einfach selbst schreiben.
Wen du Vector benutzt wird das Array ständig verworfen und neu erstellt.Eine Liste ist doch gerade daür prädestiniert um Knoten aufzunehmen Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hasenfuß
Senior JLI'ler


Alter: 37
Anmeldedatum: 20.08.2002
Beiträge: 291

Medaillen: Keine

BeitragVerfasst am: 05.01.2004, 09:12    Titel: Antworten mit Zitat

Je nachdem wie du die Knoten abspeicherst könntest du ja auch erst alle Knoten zählen, dann diesen Wert zuerst abspeichern und danach die Knoten. Dann liest du zuerst den Wert aus und erstellst ein Array das groß genug ist. Wink
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: 05.01.2004, 10:18    Titel: Antworten mit Zitat

Zitat:
Ich will einzelne Knoten aus einer Datei Laden, weiß abern icht wieviele drin sind.


anzahl_der_knoten = datei_groesse / groesse_der_datenstruktur
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hasenfuß
Senior JLI'ler


Alter: 37
Anmeldedatum: 20.08.2002
Beiträge: 291

Medaillen: Keine

BeitragVerfasst am: 05.01.2004, 10:28    Titel: Antworten mit Zitat

oder so Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail 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