TRUE oder true?
-
Oder: Was ist der Unterschied? Bei mir steht in der Engine TRUE und FALSE.
Aber normal heißt es doch true und false, oder? Gibt es da einen Unterschied? Sin die beiden Begriffe kompatibel zueinander?Gruß, Maxi
-
TRUE und FALSE sind imho nur defines aud windows.h oder halt von wo anders
-
TRUE und FALSE sind typedefs für 1 und 0 und für den Datentyp BOOL, welcher ein typedef für int ist. In C++(betonung auf++) gibts einen eigenen Datentyp bool der nur die Werte true oder false haben kann und nur ein Byte groß ist. Kompatibel sind sie schon, weil sie implizit gecastet werden.
bool b=TRUE; //b=1;
die 1 wird in true gecastet
[ Dieser Beitrag wurde am 17.02.2003 um 16:23 Uhr von crass editiert. ]
-
BOOL / TRUE / FALSE = 32 Bit
bool / true / false = 16 Bitich bevorzuge lieber die kleinere Variante, weil die Syntax-Highlight hat
-
Original erstellt von Ikari:
**BOOL / TRUE / FALSE = 32 Bit
bool / true / false = 16 Bitich bevorzuge lieber die kleinere Variante, weil die Syntax-Highlight hat
:)**
Keine Drogen hier, danke!
-
Wenn es geht immer bool benutzen, da dort der Compiler eine Bereichsüberprüfung durchführt und so du mit Sicherheit true oder false drin hast, bei BOOL nicht.
Bsp:
BOOL d; d = 5; // der Compiler gibt nichtmal ne Warnung
-
Original erstellt von Ikari:
bool / true / false = 16 Bitbei mir gibt aber:
std::cout << sizeof(bool);
1 aus und da is gleich gross wie char...
hat char wirklich 16 bit[ Dieser Beitrag wurde am 17.02.2003 um 16:52 Uhr von japro editiert. ]
-
bool hat 8 bit
BOOL d;
d = 5; // der Compiler gibt nichtmal ne Warnung
macht ja auch nix denn
if (d) /*mach was*/ ;
wird ausgeführt wenn d!=0...kann auch 5 sein
-
Wenn es geht immer BOOL benutzen
-
BOOL ist vielleicht schneller weil es 4 byte groß ist und der rechner sich immer freut wenn er 32 bits in den rahcen geschoben kriegt, aber dennoch sollte man imo bool benutzen, da der Sinn einer boolischen Variable ist, 2 Zustände zuhaben und nicht einen Wertebreich von minus 2milliarden bis 2 milliarden
wenn man diesen bereich braucht, nimmt man int
[ Dieser Beitrag wurde am 17.02.2003 um 17:00 Uhr von crass editiert. ]
-
außerdem sieht BOOL auch viel schön aus
-
@TGGC:
und wieso tust du depp das net berichtigen? Bist doch so 'n superprofi! Haste es net nötig was zu verbessern???
-
Original erstellt von Ikari:
@TGGC:
Haste es net nötig was zu verbessern???Genau...
-
Original erstellt von Ikari:
und wieso tust du depp das net berichtigen? Bist doch so 'n superprofi! Haste es net nötig was zu verbessern???Beruhig Dich wieder, wenn Dich sowas nervt dann ignorier es doch...
Was könnten BOOL, TRUE und FALSE für einen Vorteil gegenüber bool, true und false haben?
Wenn jemand einen echten Vorteil findet soll er/ sie ihn bitte posten ansonsten plädiere ich auf eine große Portion heiße bools für alle...
-
lol
-
BOOL ist laut windef.h nur ein typdef für int, hat also einen größeren Bereich als bool. In WinAPI-Forum hat ich da auch vor ein paar Tagen was in der Art gefragt (diesen Thread meine ich) und Loggy hat ein Beispiel genannt, wo eine WinAPI-Funktion mit Rückgabe-Typ BOOL z.B. 16 zurückgegeben hat (muss also nicht unbedingt nur 0 oder 1 sein)
[ Dieser Beitrag wurde am 18.02.2003 um 14:47 Uhr von flenders editiert. ]
-
Das Idiom um int-Bools auf den Wertebereich {0, 1} einzuschränken ist übrigens !!x
-
Dass das alles funktioniert weiß ich schon, aber warum sollte man int-bools statt bools verwenden?
(Das interessiert mich wirklich schon lange, vielleicht könnt Ihr mich ja aufklären: Warum existiert so etwas wie BOOL überhaupt?)
[ Dieser Beitrag wurde am 18.02.2003 um 21:05 Uhr von nman editiert. ]
-
weil es bei Maschinen das Binäre System gibt (1 und 0) außerdem kennste doch bestimmt aus dem Matheunterricht "Boolonische Opperatoren" oder so? (weis net mehr genau, is schon paar Jahre her)
-
bool gibts in C++ noch nicht so lange, da ist es naheliegend für größere Bibliotheken, sich eigene boolsche Typen zu definieren. Heute haben wir bool, sogar in C, aber davon gehen die alten BOOLs ja nicht weg