我如何在 C++ 中定义 24 位数组? (变量声明)
最佳答案
C++ 中没有 24 位变量类型。
您可以使用位打包结构:
struct ThreeBytes {
uint32_t value:24;
};
但不能保证
sizeof ThreeBytes == 3
。您也可以仅使用
uint32_t
或 sint32_t
,具体取决于您的需要。另一种选择是使用
std::bitset
:typedef std::bitset<24> ThreeBytes;
然后从中制作一个数组:
ThreeBytes *myArray = new ThreeBytes[10];
当然,如果你真的只需要“三个字节”,你可以制作一个数组数组:
typedef uint8_t ThreeBytes[3];
请注意,
uint8_t
和friends 是非标准的,仅用于说明。