JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Struct-Frage

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



Anmeldedatum: 14.05.2004
Beiträge: 243

Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 14:11    Titel: Struct-Frage Antworten mit Zitat

Ich habe folgende struct funktion in meinem Programm:

Code:
typedef struct CRDSOUND_TYPE
{
   char*                   cName;
   int                  iID;
   IDirectMusicSegment8   *pSegment;
   IDirectMusicAudioPath8 *p3DPath;
   IDirectSound3DBuffer8  *p3DBuffer;
} CRDSOUNDINFO;


diese initiere ich so:
CRDSOUNDINFO m_Sounds[50];

wie kann ich es jedoch machen, wenn ich nicht weiß wieoft ich es brauche (50mal)? Kann man das zur Laufzeit irgendwie erhöhen?
_________________
-+- SchNeiDi74 -+-
-+- www.creative-games.de -+-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
PeaceKiller
JLI Master


Alter: 36
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 14:22    Titel: Antworten mit Zitat

Entweder du benützt Listen oder machst das z.B. so:

CPP:
CRDSOUND_TYPE* m_Sounds;

Sounds = new Sounds[anzahl];

delete[] m_Sounds;


Wenn du dann die größe ändern willst halt ein neues erstellen und das alte löschen.

Wenn du Sound willst würde ich dir aber wirklich zu einer Liste oder besser einer Map raten.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 14:56    Titel: Antworten mit Zitat

STL ist dein Freund... Wink

Mach dich mal schlau über slist, list, vector, map...

Per Hand dynamisch Speicher anfordern und freigeben finde ich persönlich nicht so schön, ist aber möglich...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
schneidi74
Senior JLI'ler



Anmeldedatum: 14.05.2004
Beiträge: 243

Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 15:22    Titel: Antworten mit Zitat

gibt's da ein sinnvolles Buch oder Tutorial drüber GreveN?
_________________
-+- SchNeiDi74 -+-
-+- www.creative-games.de -+-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
PeaceKiller
JLI Master


Alter: 36
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 15:27    Titel: Antworten mit Zitat

Ich hab grad ein bisschen gegoogelt und bin auf des:

Komponenten entwerfen mit der C++ STL

Buch gestossen. Ich glaube das les ich mir auch mal durch.

edit: ok, das Buch ist glaub ich ein bisschen zu komlpex wenn man nur mit der STL anfangen will.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine


Zuletzt bearbeitet von PeaceKiller am 23.01.2005, 15:33, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 15:32    Titel: Antworten mit Zitat

hm, naja es kommt halt immer darauf an, wie oft du das ändern wirst. Ich benutze manchmal STL und manchmal new/delete, immer das was mir gerade besser in den Kram passt.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
PeaceKiller
JLI Master


Alter: 36
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 15:36    Titel: Antworten mit Zitat

Vielleicht das hier:
http://www.josuttis.de/libbook/toc.html
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
HotAcid
Super JLI'ler


Alter: 43
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 16:07    Titel: Antworten mit Zitat

http://www.sgi.com/tech/stl/

als Buch noch sehr empfehlenswert: http://www.amazon.de/exec/obidos/ASIN/3540432124/qid=1106496429/ref=sr_8_xs_ap_i1_xgl/302-5706976-8956838

viele Grüße
Felix
_________________
StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

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

In deinem konkretem Fall würde das, unter Nutzung des Vector-Containers folgendermaßen aussehen:

CPP:
//zuerst die Header mit der Vector-Deklaration einbinden, Achtung, kein .h
#include <vector>

//einen entsprechenden vector erzeugen
std::vector<CRDSOUNDINFO> m_Sounds;

//den Vector dimensionieren
m_Sounds.resize(NEW_SIZE);

//den Vector mit Werten versehen und Werte zurückgeben lassen
m_Sounds[index] = bla;
blubb = m_Sounds[index];


Alles klaro? Wink
Am besten du schaust dir trotzdem mal in Ruhe die verschiedenen Container und Algos der STL an, du wirst sie noch öfters brauchen...

[Edit:] Argh, wtf funktioniert die Syntaxhervorhebung bei mir schon wieder nicht?!?


Zuletzt bearbeitet von GreveN am 23.01.2005, 17:50, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 17:13    Titel: Antworten mit Zitat

Ämm. Sie Syntaxhervorhebung funzt nur, wenn du cpp-Tags nutzt, nicht die Code-Tags. Siehe die Buttons oben beim schreiben! Wink
Also: <cpp> und </cpp>, nicht <code> und </code>... Wink
Die "<" und ">" musst du natürlich durch "[" und "]" ersetzen.
Gruß
FH
_________________
goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 17:15    Titel: Antworten mit Zitat

ich würd hierfür ne std::map vorschlagen
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 17:52    Titel: Antworten mit Zitat

@FH
lol, ist mir noch garnicht aufgefallen... Very Happy

@Patrick
Jo, aber er wollte ja eine Art Ersatz für das Array...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 23.01.2005, 21:56    Titel: Antworten mit Zitat

HotAcid hat Folgendes geschrieben:
als Buch noch sehr empfehlenswert: http://www.amazon.de/exec/obidos/ASIN/3540432124/qid=1106496429/ref=sr_8_xs_ap_i1_xgl/302-5706976-8956838

Volle Zustimmung Smile

Wenn du _wirklich_ was mit der STL anfangen willst und sie auch öfters gebrauchen willst(was ich nur empfehle), dann ist das genau das richtige Buch Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
C++Builder
Senior JLI'ler



Anmeldedatum: 04.10.2003
Beiträge: 235

Medaillen: Keine

BeitragVerfasst am: 24.01.2005, 08:52    Titel: Antworten mit Zitat

Eine gute Seite zu C++ und STL ist auch http://cplus.kompf.de

(für STL musst du mal bei "Artikel" gucken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
schneidi74
Senior JLI'ler



Anmeldedatum: 14.05.2004
Beiträge: 243

Medaillen: Keine

BeitragVerfasst am: 24.01.2005, 19:35    Titel: Antworten mit Zitat

Erstmal vielen Dank für die vielen Antworten. Glaub bis ich mich da durchgearbeitet habe, wird etwas dauern Smile
_________________
-+- SchNeiDi74 -+-
-+- www.creative-games.de -+-
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