JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Datentypen (war Projekte, Beispielprogramme)

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 11.12.2002, 13:45    Titel: Antworten mit Zitat

Das Beispiel ist sehr interessant! Smile
Aber warum hast du malloc/free benutzt und nicht new/delete?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 11.12.2002, 15:13    Titel: Antworten mit Zitat

hab mir das mal angekuckt , versteh auch einiges, aber die folgenden typen sagen mir nix, was machen die , wofür sind die?

Code:

DWORD
HKEY
LPSTR //Kenn ich glaub ich von der CreateSurfaceforBitmap Funktion
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 11.12.2002, 16:13    Titel: Antworten mit Zitat

Ich habe früher mal mit C angefangen, und dort gab es kein new/delete, also reine Gewöhnungssache. Da malloc/free auch ein wenig schneller ist als new/delete (die intern nur malloc/free verwenden) ist es doch auch egal, oder?
DWORD, HKEY und LPSTR sind Teilweise bekannte Datentypen mit anderen Bezeichnern.
DWORD ist einfach nur unsigned long int, also ein 32-Bit-Integer-Datentyp
HKEY ist im prinzip auch nur ein DWORD, mit dem Unterschied, das ein gültiger HKEY ein geöffneten Hauptschlüssel repräsentiert.
LPSTR / LPCSTR ist einfach: char * / const char *

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 11.12.2002, 16:28    Titel: Antworten mit Zitat

Was bringt denn diese Neubenennung, wenn es doch nur alte datentypen sind? Führt doch eigentlich nur zu Verwirrung.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 11.12.2002, 16:32    Titel: Antworten mit Zitat

Das verbessert die Übersicht. Wenn man eine Variable vom Typ HKEY hat anstatt DWORD, weiß man sofort wofür sie gedacht ist.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 11.12.2002, 16:58    Titel: Antworten mit Zitat

Ich finde es nicht besonders übersichtlich. DWORD sagt doch auch nicht viel aus, kann man schließlich für vieles verwenden. Ich finde diese ganzen "neuen" typen machen alles viel undurchsichtiger. Meiner Meinung nach sollte man die Variablen selber so benennen, dass man weiß wofür sie gedacht sind.

Wenn eine Variable vom typ HKEY ist kann ich damit nicht viel anfangen, da ich nichts genaues über ihn weiß(ok, manches kann man sich denken), ist es int oder ne struktur oder vileicht ein string?

Aber vileicht gibts ja noch andere Argumente für neue Typen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 11.12.2002, 17:26    Titel: Antworten mit Zitat

DWORD oder auch HKEY sind Datentypen, die Automatisch zur verfügung gestellt werden, wenn man windows.h includet. DWORD bedeutet soviel wie Double Word. ein Word ist ein 16-Bit-Integer, das Unsigned ist - und das schon immer. Windows hatte diese Philosophie schon zu 3.0-Zeiten genutzt. WORD, DWORD und QWORD (Quad-Word, 64-Bit) sind Datentypen, die man verwenden sollte, wenn man mit Windows-Funktionen hantiert, die sie verlangen.
Ob HKEY nun ein Struct oder ein DWORD ist, kann dem benutzer im Prinzip auch egal sein, da man die Variable niemals selbst mit Werten belegt, oder aus Ihr werte ausließt - sie wird lediglich für die Verwendung mit Registry-Funktionen benötigt.

AFE-GmdG
PS.: Ich lege diese Diskusion in einen neuen Thread, ich will den Beispielcode-Thread nicht damit überlasten.
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 11.12.2002, 17:36    Titel: Antworten mit Zitat

Kampfhund hat Folgendes geschrieben:
Ich finde es nicht besonders übersichtlich. DWORD sagt doch auch nicht viel aus, kann man schließlich für vieles verwenden. Ich finde diese ganzen "neuen" typen machen alles viel undurchsichtiger. Meiner Meinung nach sollte man die Variablen selber so benennen, dass man weiß wofür sie gedacht sind.


Das ist sicherlich Geschmackssache. DWORD sagt einem nur, wieviel Bits das speichern kann, HKEY sagt einem aber WAS gespeichert wird.

Kampfhund hat Folgendes geschrieben:
Wenn eine Variable vom typ HKEY ist kann ich damit nicht viel anfangen, da ich nichts genaues über ihn weiß(ok, manches kann man sich denken), ist es int oder ne struktur oder vileicht ein string?

Aber vileicht gibts ja noch andere Argumente für neue Typen.


Das liegt daran, dass du dich noch nicht damit beschäftigt hattest. Normalerweise verwendet man auch nur Typen die man kennt. Razz
Man kann durchaus Characters(char) in Integers speichern. Nur Strings geht nicht, da diese ja Arrays sind, also sollten keine Probleme auftauchen. Wenn man sich garnicht sicher ist, guckt man sich einfach die Typendefinition an.

PS.: Diesen Beitrag hatte Hazel geschrieben, während ich den Thread geteilt hab. Deshalb hab ich ihn erneut im Richtigen Thread gepostet.
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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