C++ 如何为具有整数名称的变量设置位集

C++ 如何为具有整数名称的变量设置位集,c++,bitset,C++,Bitset,我想将字符“0”的位集设置为0101010101,但当我尝试时,会出现错误“应为标识符” #包括 #包括 #包括 使用名称空间std; int main(){ 位集“0”=0101010101; } 我也试过了 bitset <8> 0(string("0101010101")); 位集0(字符串(“0101010101”); 但是我得到了相同的错误您可以使用无序映射来设置int和位集之间的一对一映射。样本0101010101的长度为10,因此位集的大小将为10,0101010

我想将字符“0”的位集设置为0101010101,但当我尝试时,会出现错误“应为标识符”

#包括
#包括
#包括
使用名称空间std;
int main(){
位集“0”=0101010101;
}
我也试过了

bitset <8> 0(string("0101010101"));
位集0(字符串(“0101010101”);

但是我得到了相同的错误

您可以使用
无序映射
来设置int和位集之间的一对一映射。样本
0101010101
的长度为10,因此位集的大小将为10,
0101010101
=
341
以十进制表示

#include <iostream>
#include <unordered_map>
#include <bitset>

std::unordered_map<int, std::bitset<10>> M {
    {0, 341},
    {1, ...},
    ...
    ...
    ...
};

int main()
{
    std::cout << M[0] << std::endl;
}
#包括
#包括
#包括
std::无序映射M{
{0, 341},
{1, ...},
...
...
...
};
int main()
{

std::cout
0
是一个整型文字,而
'0'
是一个字符文字,两者都不是变量名。
可以使用<代码> 0 0/COD>作为变量名。或者更好地使用描述变量使用的名称。< /P>标识符不能以数字开头。在C++中,您试图做的是不可能的。“我想将字符‘0’的位集设置为0101010101”。这毫无意义。您是否正在尝试更改
'0'
使用某种类似反射的功能的含义?这是不可能的,对于
std::bitset
,肯定不行。
#include <iostream>
#include <unordered_map>
#include <bitset>

std::unordered_map<int, std::bitset<10>> M {
    {0, 341},
    {1, ...},
    ...
    ...
    ...
};

int main()
{
    std::cout << M[0] << std::endl;
}