为什么CFBit被定义为UInt32?

时间:2016-05-29 18:30:25

标签: types bit core-foundation bitvector cfbitvector

Apple将CFBit归档为UInt32,但我对其原因感到困惑。如果每个定义为32 ,那么是否会破坏使用向量的目的?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

不,不是,因为CFBit不是例如的存储类别。一个CFBitVector。它仅用于比较位向量中特定位置的特定位是0还是1.编译器(clang)中没有内置类型来存储单个位(就像在嵌入式系统的某些编译器中一样),因此需要这种解决方法。为什么选择UInt32才是出于这个目的,我无法分辨。

再次:CFBitVector内部是 NOT CFBit实例的向量。