Apple Dokumente CFBit als ein UInt32, aber ich bin verwirrt, warum. Stört das nicht den Zweck der Verwendung eines Bit Vektors, wenn jedes Bit mit 32 Bits definiert ist? Fehle ich etwas?Warum ist CFBit als UInt32 definiert?
0
A
Antwort
1
Nein, ist es nicht, weil CFBit nicht die Speicherklasse von z.B. ein CFBitVector. Es wird nur verwendet, um zu vergleichen, ob ein bestimmtes Bit an einer bestimmten Position in einem Bitvektor 0 oder 1 ist. Es gibt keinen eingebauten Typ im Compiler (Clang), um einzelne Bits zu speichern (wie in einigen Compilern für eingebettete Systeme). Daher ist eine solche Problemumgehung erforderlich. Warum genau UInt32 für diesen Zweck ausgewählt wurde, kann ich nicht sagen.
Nochmals: CFBitVector intern ist NICHT ein Vektor von CFBit-Instanzen.