bool
-
peterchen schrieb:
nicht zwingend - "char" ist durch das "Execution character set" definiert, "byte" als kleinste direkt adressierbare Einheit.
Also: ein C++ - Compiler für ein OS auf zich-bit-Maschine, die als kleinste Einheit 17 bit adressieren kännte, aber einen 32-Bit-Unicode-Zeichensatz verwendet, 32 bit für char verwenden, die "kleinste Adressierbare Einheit" wäre euin compiler-spezifischer Datentyp (oder ein short, sofern der kleiner als ein char sein darf)
Darf aber nicht. -- Du sollst die Norm nicht interpretieren, Du sollst sie lesen, und da steht ziemlich eindeutig in 1.7#1, daß man in einem Byte jedes Dingsbums aus dem basic execution character set speichern kann, außerdem hat es eine Adresse. Sizeof 5.3.3#1 misst die Anzahl der Bytes(!), wobei sizeof(char) immer eins wird.
-
Hier noch ein netter Artikel, der die meisten Fragen über 'bool' beantworten sollte:
http://gotw.ca/gotw/026.htmgruß,
walker
-
@Daniel: danke
Der Standard definiert also praktisch Byte = Char, wieviele Bit auch immer.Ich kenn halt Byte aus der Assembler-Programmierung als "kleinste direkt adressierbare Einheit, wieviele Bit auch immer"
-
Zur Auflockerung oder Verwirrung (?) hier ein paar Infos (jedenfalls laut Microsoft/Borland-Hilfe):
bool = C++ keyword, meist definiert als int (oder auch byte)
BOOL = typedef int BOOL
boolean = typedef unsigned char boolean
BOOLEAN = typedef BYTE BOOLEAN (typedef unsigned char BYTE)
-
George3D: Und was bringt dir die Auflistung von zu 75% nicht im Standard vertretenen Typen? Ich denke die Diskussion war längst geklärt.
-
75% nicht im Standard vertreten?
Mehr noch, denn er schreibt in Klammern bei bool byte und das ist kein C++ Buildin Type
Hm, naja, wobei ein Byte ja gleich ein char ist, ok, dann nur 75 %