== True
-
unskilled schrieb:
Nexus schrieb:
unskilled schrieb:
und ob man dort nun typedefs oder aber makros nimmt, macht imho ca. gar keinen unterschied...
Aber es würde sehr wohl einen Unterschied machen,
enum
zu nehmen.welche vorteile siehst du denn darin?
ich seh da nicht so wirklich ne besserung...bb
enum MyBool...
MyBool a = myBoolTrue;
int b = myBoolTrue; // error
-
unskilled schrieb:
welche vorteile siehst du denn darin?
ich seh da nicht so wirklich ne besserung...Typsicherheit. asdasasdasd hat es allerdings gerade verkehrt herum gezeigt.
enum BOOL { FALSE, TRUE, }; BOOL a = 3252; // Fehler
Ist dann allerdings wieder blöd wegen solchen Sachen (bräuchte eine Funktion):
BOOL b = (78 && 0);
Ein
bool
-Ansatz wie in C++ ist schon das beste.
-
Nexus schrieb:
enum BOOL { FALSE, TRUE, }; BOOL a = 3252; // Fehler
Das wäre in C allerdings kein Fehler.
-
unskilled schrieb:
C hat nun mal kein bool... (z.bsp.) die WinAPI ist aber in C geschrieben...
Falsch, siehe _Bool und stdbool.h
unskilled schrieb:
und ob man dort nun typedefs oder aber makros nimmt, macht imho ca. gar keinen unterschied...
Falsch
#define Bool int void foo() { int Bool = 1; } // vs. typedef int Bool; void foo() { int Bool = 1; }
(Wobei ich wie Nexus auch ein enum nehmen würde)
-
camper schrieb:
Nexus schrieb:
enum BOOL { FALSE, TRUE, }; BOOL a = 3252; // Fehler
Das wäre in C allerdings kein Fehler.
Bei mir (Freescale-Compiler) gibt es eine Warnung, wenn ich einem enum-Typ etwas anderes zuweise.
-
rüdiger schrieb:
unskilled schrieb:
C hat nun mal kein bool... (z.bsp.) die WinAPI ist aber in C geschrieben...
Falsch, siehe _Bool und stdbool.h
ok, wusste ich nicht, dass das mit dem 99er Standard eingeführt wurde^^
ist die winapi die einzige (wichtige) api, die trotzdem auf bool verzichtet oder hat das iwelche gründe?rüdiger schrieb:
unskilled schrieb:
und ob man dort nun typedefs oder aber makros nimmt, macht imho ca. gar keinen unterschied...
Falsch
#define Bool int void foo() { int Bool = 1; } // vs. typedef int Bool; void foo() { int Bool = 1; }
naja - 1. ist es BOOL, 2. ist dieser nachteil von makros allg. bekannt 3. ist es dummheit, bezeichner á la BOOL zu nehmen
Ein bool-Ansatz wie in C++ ist schon das beste
darauf wollte ich hinaus^^ ohne gibt es iwie immer nur halb-gute wegebb
-
unskilled schrieb:
Falsch, siehe _Bool und stdbool.h
ok, wusste ich nicht, dass das mit dem 99er Standard eingeführt wurde^^
ist die winapi die einzige (wichtige) api, die trotzdem auf bool verzichtet oder hat das iwelche gründe?Wie ich vermutet habe Abwärtskompatibilität:
http://blogs.msdn.com/oldnewthing/archive/2004/12/22/329884.aspx
Eigentlich liegt das doch auf der Hand, wenn man bedenkt, dass es Windows bereits vor 99 gegeben hat.
-
drakon schrieb:
unskilled schrieb:
Falsch, siehe _Bool und stdbool.h
ok, wusste ich nicht, dass das mit dem 99er Standard eingeführt wurde^^
ist die winapi die einzige (wichtige) api, die trotzdem auf bool verzichtet oder hat das iwelche gründe?Wie ich vermutet habe Abwärtskompatibilität:
http://blogs.msdn.com/oldnewthing/archive/2004/12/22/329884.aspx
Eigentlich liegt das doch auf der Hand, wenn man bedenkt, dass es Windows bereits vor 99 gegeben hat.
es gibt so viele dinge, die man über schalter lösen könnte(siehe NOMINMAX), das könnte man mit sicherheit auch dort tun... aber ty für link : >
bb
-
camper schrieb:
Das wäre in C allerdings kein Fehler.
Oh, ich wusste gar nicht, dass das erst mit C++ kam. Aber dann scheint mir ein wichtiger Vorteil von
enum
in C wegzufallen. Gegenüber#define
ist man bezüglich Scope, Debugsichtbarkeit und eventuellen Compilerwarnungen im Vorteil, aber wie verhält es sich mitconst
-Variablen? Besteht hier die einzige Verbesserung vonenum
darin, Konstanten nicht wegcasten zu können?
-
unskilled schrieb:
es gibt so viele dinge, die man über schalter lösen könnte(siehe NOMINMAX), das könnte man mit sicherheit auch dort tun... aber ty für link : >
bb
Wie meinst du das? - Ich fände es völlig sinnfrei die alten Library umschreiben zu gehen, nur damit da ein bool, anstatt ein BOOL steht.. (ich stelle mir gerade so vor, dass das irgendeinen Nebeneffekt geben würde und Code nicht mehr geht.. - Das wäre die wahre Wirtschaftskrise. :p)
-
http://www.gotw.ca/gotw/026.htm
dort ne Diskussion zum thema bool mit anderen mitteln simulieren.