VS2005 Compiler VC 8 _Bool selber definieren
-
Jetzt habe ich meinen VC++ 8 Compiler dazu gebracht, als C-Compiler zu arbeiten. Die "stdafx.h" brauch ich nicht mehr als erstes einzubinden, wie bei C++ Projekten.
Interessant was in der "stdafx.h" für C++ Progger includiert ist (<stdio.h>), die nennen das Standardsystem-Includedatei - ist doch eigendlich C-Includedatei, was solls.
Nun kennt mein VC 8 Compiler aber kein _Bool und bool, true, false mehr ( 6 Jahre nach C99). Ich hab den Typ nun selber mit #define _Bool int , #define bool _Bool, #define true 1 usw. definiert.
Frage: Ist #define _Bool int ok? oder sollte ich besser char dafür nehmen?Danke im voraus!
-
geht beides. auf manchen architekturen sind berechnungen mit 'int' schneller als mit 'char' aber sonst isses egal (ein 'bool' braucht ja nur 2 zustände)...
-
Ich bevorzug ja immer ein enum Bool {False, True };
sofern's _Bool nicht gibt.
-
jedenfalls ist es am besten wenn man für 'true' immer '1' nimmt und nicht 0xff oder sowas...
-
!0
-
nun ja, wichtig ist imo eher, dass false = 0 und true != false gilt. Allerdings ist es irgendwie nachvollziehbar, true = 1 zu setzen
-
GPC schrieb:
...und true != false gilt.
das hätteste ja mit jedem wert ausser 0
aber die lösung steht ja über deinem posting...