C++ 在标准C+中创建动态位集+;?
我觉得我只是希望他们可以,但是向量可以访问位集成员函数吗 例如,我可以做类似的事情C++ 在标准C+中创建动态位集+;?,c++,vector,boolean,bitset,C++,Vector,Boolean,Bitset,我觉得我只是希望他们可以,但是向量可以访问位集成员函数吗 例如,我可以做类似的事情 vector<bool> myvector; myvector.count(); myvector.test(1); 向量myvector; myvector.count(); myvector.test(1); 如果不使用标准的C++库,动态地创建一个位集? 编辑: 我想使用某些位集函数(test、count)并想使用构造函数位集(unsigned long val) 基本上,我想为一些任意的v
vector<bool> myvector;
myvector.count();
myvector.test(1);
向量myvector;
myvector.count();
myvector.test(1);
如果不使用标准的C++库,动态地创建一个位集?
编辑: 我想使用某些位集函数(test、count)并想使用构造函数位集(unsigned long val)
基本上,我想为一些任意的val
创建一个位集,然后对test和count执行一些操作。然后我想取消分配并重新创建具有递减val的位集。我想继续这样做,直到val小于8
但是,似乎不可能创建动态位集,而使用动态向量意味着我可以使用一些不错的位集函数。听起来您实际上并不需要动态位集<代码>标准::位集是可复制分配的,因此您可以执行以下操作:
const size_t size = sizeof(unsigned long) * CHAR_BIT;
typedef std::bitset<size> my_bitset;
unsigned long val = 42;
my_bitset bs(val);
/* do work */
bs = my_bitset(--val); // assign with new, decremented val
const size\u t size=sizeof(无符号长)*字符位;
typedef std::位集my_位集;
无符号长val=42;
my_位集bs(val);
/*工作*/
bs=我的位集(--val);//用新的、递减的val赋值
我已经在S.O.中回答了类似的问题。我建议,一个专门面向快速位扫描的动态位集框架。它已经在Linux和Windows上进行了测试。可以与STL位集和Boost的动态位集进行比较。向量测试(1)应该做什么?你为什么不试试呢,嗯?:)提示:不,不行。是的,我试过了。。。但我真的很想相信你可以:(该死!你为什么需要它来支持::std::bitset
操作?这个问题有一个简短的简单答案,对人们没有多大帮助。但是,回答导致你想要::std::vector
来支持它没有的操作的相关问题可能会有趣得多。@moesef你为什么不实现bitset::test
做的事情与vector::at
做的事情相同,因此没有任何工作要做。这不是动态的。size
在编译时是已知的。