我如何在 C++ 中定义 24 位数组? (变量声明)

最佳答案

C++ 中没有 24 位变量类型。

您可以使用位打包结构:

struct ThreeBytes {
    uint32_t value:24;
};

但不能保证 sizeof ThreeBytes == 3

您也可以仅使用 uint32_tsint32_t ,具体取决于您的需要。

另一种选择是使用 std::bitset :
typedef std::bitset<24> ThreeBytes;

然后从中制作一个数组:
ThreeBytes *myArray = new ThreeBytes[10];

当然,如果你真的只需要“三个字节”,你可以制作一个数组数组:
typedef uint8_t ThreeBytes[3];

请注意,uint8_t 和friends 是非标准的,仅用于说明。

10-08 15:56