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

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

21

28.07.2008, 17:38

Jo, ist aber nicht festgelegt darauf...
@D13_Dreinig

22

28.07.2008, 22:42

Nja BOOL ist nunmal kein Standard sondern von MS.

C-/C++-Quelltext

1
2
const bool bool_value(false);
BOOL value(bool_value);

und

C-/C++-Quelltext

1
2
const BOOL value(FALSE);
bool bool_value(!!value);
und schon sind alle Probleme weg ;)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

23

28.07.2008, 22:48

Zitat von »"Deviloper"«

Nja BOOL ist nunmal kein Standard sondern von MS.


BOOL ist kein Standard und auch kein von MS ernannter Standard, daher...

Zitat von »"Deviloper"«


C-/C++-Quelltext

1
2
const bool bool_value(false);
BOOL value(bool_value);

und

C-/C++-Quelltext

1
2
const BOOL value(FALSE);
bool bool_value(!!value);
und schon sind alle Probleme weg ;)


Kann das natürlich funktionieren, oder auch nicht. Je nachdem was hinter BOOL wirklich steckt. Allerdings, um weitere Diskussionen zu vermeiden: Der implizite Cast wird vermutlich immer klappen, der Code den ich vorhin gepostet hatte sollte nur eine Möglichkeit des "Castens" zeigen, wenn auch er eigentlich ziemlich sinnfrei war.
@D13_Dreinig

24

28.07.2008, 23:04

Jo hab auch nicht behauptet, dass MS da nen Standard daraus gemacht hat. Aber soweit ich's richtig in Erinnerung habe, gab es in den Anfängen keinen Boolschen Datentyp. D.h. hat Microsoft z.B. in der WinAPI und der MFC BOOL als Boolschen Datentyp "eingeführt".
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

25

28.07.2008, 23:10

Ja genau. Aber im Endeffekt ist das auch eher uninteressant, oder?

Für Visual Studio (falls man kein Freund des unschönen doppelten Not-Konstruktes ist und falls man Warnungen ausschalten möchte):

C-/C++-Quelltext

1
#pragma warning( disable: 4800 )


Dann klappt auch:

C-/C++-Quelltext

1
2
BOOL b = false; 
bool b1 = b;


ohne Warnung und ohne das doppelte Not-Konstrukt.
@D13_Dreinig

Werbeanzeige