C++ 我如何创建一个基本上取代C+中布尔向量的位掩码向量+;11?

C++ 我如何创建一个基本上取代C+中布尔向量的位掩码向量+;11?,c++,c++11,C++,C++11,我试图创建一个位掩码向量来存储真/假值,这将告诉我是否需要打印另一个向量中的特定索引值 a {1,2,3} b { true, false ,true} // I need a similar bitmask which would help me print 1 and 3 例如:std::向量a b是一个位掩码向量,它将保存与整数向量a相对应的标志值,该标志告诉我是否需要打印相应索引处的特定值 a {1,2,3} b { true, false ,true} // I need

我试图创建一个位掩码向量来存储真/假值,这将告诉我是否需要打印另一个向量中的特定索引值

a {1,2,3}  
b { true, false ,true} // I need a similar bitmask which would help me print 1 and 3 
例如:
std::向量a
b是一个位掩码向量,它将保存与整数向量a相对应的标志值,该标志告诉我是否需要打印相应索引处的特定值

a {1,2,3}  
b { true, false ,true} // I need a similar bitmask which would help me print 1 and 3 

此任务可以通过其他方式完成。我正在处理的问题需要使用位掩码。提前感谢您在这方面的帮助。

正如许多人建议的那样,我会这样做:

  • myBitset
    将保留标志<对于打印标志,代码>1
(设置);对于非打印标志,代码>0(清除)
#包括
#包括
#包括
使用名称空间std;
int main(int argc,字符**argv){
std::向量a{1,2,3,4,5,6,7,8,9,10};
std::位集myBitset;
myBitset.set(3);//设置第四位==>显示4
myBitset.set(6);//设置第七位==>显示7
myBitset[8]=true;//设置第九位==>显示9
myBitset[9]=myBitset[3];//设置第10位==>显示10

std::你似乎有一个
向量的用例。为什么不使用它?也许值得解决这个问题,而不是尝试发明一个新的轮子。@user4581301问题是我可以,但是有一个位掩码向量更好地与代码的其他部分一起工作,显然仍在试图弄清楚如何使用。但是,是的,我想知道如何n我们初始化它们并使它们执行与布尔函数相同的功能。使用主枚举有效吗?不确定“位掩码向量”是什么意思,
std::vector
或(动态)位掩码(具有静态大小)…您能定义“位掩码”是什么意思吗?据我所知,一个位掩码有不止一个位,每个位都能屏蔽某些东西。所以你似乎要求一个位向量来充当位掩码。@mandelbrot你对位向量没问题,那么我们回到为什么不使用它的问题上来?你提到的“代码的其他部分”有什么具体的要求?