【发布时间】:2013-09-02 00:33:49
【问题描述】:
我知道 set() 函数用于已构建的 bitset 对象,但我需要一个所有位均为 1 的已构建 bitset。这种情况是默认函数参数。 例如:
void bar(std::bitset<100> flags = X) {
}
X 应该是什么,-1 可能适用于前 64 位,但不是全部。
【问题讨论】:
-
我认为反向逻辑应该是一种方式,0表示设置,1表示未设置。
-
但是为什么不直接写 std::bitset().set() 而不是 X?
-
我需要一个默认参数,我想在调用函数bar()时省略参数
-
这对我有用(在 VS2012 上测试,禁用语言扩展): void bar(std::bitset flags = std::bitset().set() ) { std::cout
-
或者
flags = ~std::bitset<100>()
标签: c++ std-bitset