Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

11

10.08.2003, 23:35

Yeah Baby Yeah ;D;D;D

Anonymous

unregistriert

12

11.08.2003, 02:24

Subd globale Funkionen dann erlaubt?

13

11.08.2003, 12:03

Natürlich. Sie nennen sich dann "freie Funktionen".
Du kannst den Gültigkeitsbereich von Funktionen auch einschrenken, wenn du Funktionen schachtelst. Ist aber meiner Meinung nach schwachsinn.
Ein Gespenst geht um in Europa...

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

14

11.08.2003, 13:41

Also ich versuche so oft wie möglich ohne bool auszukommen.
Das geht z.B. wenn man mehre bools in einer Klasse hat wie diese:
bool Methode:

Quellcode

1
2
3
4
5
6
class CFoo
{
 bool bVisible;
 bool bActive;
 //...
};

Eine schönere Methode ist dann beispielsweiße diese hier:
unsigned long (bzw. DWORD) Methode

Quellcode

1
2
3
4
class CFoo
{
 DWORD dwStates;
};


Denn so hab ich eine 32Bit Varbiable womit die heutigen Prozessoren am schnellsten rechnen können und kann dadrin per "Bit Flag" die Statusse speichern. In einem bool kann man nur einen dieser Statusse speichern obwohl vom Speicher her platzt für 16 Stück wäre, indem DWORD sogar für 32 Stück. Das könnte man sich im Code ungefähr so vorstellen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
enum FOO_STATE
{
 FOO_STATE_VISIBLE = 1,
 FOO_STATE_ACTIVE = 2,
 FOO_STATE_RESERVED1 = 4,
 FOO_STATE_RESERVED2 = 8
 // usw. ...
};

void Foo(void) 
{
 DWORD dwFooStates = FOO_STATE_VISIBLE | FOO_STATE_RESERVED2;

 if(dwFooStates & FOO_STATE_VISIBLE)
  // Dieser Bitflag ist gesetzt also würde der Code nach dem if ausgeführt werden
 if(dwFooStates & FOO_STATE_ACTIVE)
  // Nicht gesetzt...
 if(dwFooStates & FOO_STATE_RESERVED1)
  // Nichtgesezt...
 if(dwFooStates & FOO_STATE_RESERVED2)
  // Gesetzt...
}


Ich habe diese Methode beispielsweiße in meiner Font-Engine eingesetzt um abzufragen ob verschiedene Effekte wie Fade-In, Fade-Out oder blinkender Text eingeschaltet sind.
Außerdem wird diese Methode wohl Verwendung in meiner GUI finden.

Ciao DarthB

Werbeanzeige