gpt4 book ai didi

c++ - 自动生成位位置

转载 作者:搜寻专家 更新时间:2023-10-31 01:50:47 25 4
gpt4 key购买 nike

我有一些看起来像这样的位掩码:

namespace bits { 
const unsigned bit_one = 1u << 0;
const unsigned bit_two = 1u << 1;
const unsigned bit_three = 1u << 2;
......
const unsigned bit_ten = 1u << 10;
}

除了有更多的位和名称实际上是对我的程序有意义的标志。但有时我会删除位、添加位、重新组合相似的位等。理想情况下,我可以这样做:

namespace bits { 
const unsigned bit_one = 1u << COUNTER;
const unsigned bit_two = 1u << COUNTER;
const unsigned bit_three = 1u << COUNTER;
......
const unsigned bit_ten = 1u << COUNTER;
}

是否有一些模板/宏可以自动执行此过程?我知道 __COUNTER__,但这是一个 header ,因此如果它包含在使用 __COUNTER__ 的其他来源中,它可能会中断。我在 C++11 之前的框架中工作,因此虽然最终会升级我的编译器,但不使用 C++11 的解决方案将是理想的。

最佳答案

为什么不使用带参数的宏?

#define BIT(n) (1 << (n))

关于c++ - 自动生成位位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14605763/

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