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