Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ cpp中std::位集的工作_C++_Bitset - Fatal编程技术网

C++ cpp中std::位集的工作

C++ cpp中std::位集的工作,c++,bitset,C++,Bitset,我想知道这个程序是如何工作的: #包括 #包括 const int option_1=0; const int option_2=1; const int option_3=2; const int option_4=3; const int option_5=4; const int option_6=5; const int option_7=6; const int option_8=7; int main() { std::位集位(0x2); 位设置(选项_5); 位翻转(选项_6);

我想知道这个程序是如何工作的:

#包括
#包括
const int option_1=0;
const int option_2=1;
const int option_3=2;
const int option_4=3;
const int option_5=4;
const int option_6=5;
const int option_7=6;
const int option_8=7;
int main()
{
std::位集位(0x2);
位设置(选项_5);
位翻转(选项_6);
位重置(选项_6);

std::cout所以这基本上是一个高级别的位数组。使用非类型模板在堆栈上创建位数组

option5
变量用于将第四位(打印时从后面开始)设置为1。因此,当您打印出值时,
option5
指向的位置中有一个1,即从后面开始的位置4


位集的构造函数用于初始化位集,使其看起来像0b00000010。
set()
函数在指定的位置将位设置为1,
reset()
函数将指定位置的位设置为0。

因此在简单语言中,你的意思是4是地址而不是值。我说得对吗?在某种程度上是的!它指向位字段中的一个位置:)非常像数组的索引