gpt4 book ai didi

c++ - 在 C++ 中设置 FourCC 值

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:40 27 4
gpt4 key购买 nike

我想设置一个FourCC C++ 中的值,即一个无符号的 4 字节整数。

我想最明显的方法是#define,例如

#define FOURCC(a,b,c,d) ( (uint32) (((d)<<24) | ((c)<<16) | ((b)<<8) | (a)) )

然后:

uint32 id( FOURCC('b','l','a','h') );

你能想到的最优雅的方式是什么?

最佳答案

您可以使用以下方法使其成为编译时常量:

template <int a, int b, int c, int d>
struct FourCC
{
static const unsigned int value = (((((d << 8) | c) << 8) | b) << 8) | a;
};

unsigned int id(FourCC<'a', 'b', 'c', 'd'>::value);

通过一些额外的努力,您可以让它在编译时检查传入的每个数字是否在 0 到 255 之间。

关于c++ - 在 C++ 中设置 FourCC 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/811361/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com