[英]Assign a value to Bitset
我很想知道为什么以下代码有效,根据 bitset 模板 class。您可以通过构造函数为 bitset(int 或二进制表示形式的字符串)分配一个值,但之后不能。 但在这里您可以看到 integer 的显式分配工作正常。
#include <iostream>
#include <bitset>
#include <string>
using namespace std;
int main()
{
bitset<8> b(string("101"));
cout << b.to_ullong()<<"\n";
b= 145;
cout << b<<"\n";
return 0;
}
这个问题也可能是相关的。 初始化后如何从字符串中分配位集值
令人困惑的是std::bitset
没有明确定义operator=
。 但是,编译器会生成一个(请参阅此问题)。 您实际上可以使用cppinsight检查。 这意味着,结合接受的答案中提到的隐式构造函数,您的代码可以正常工作。 您可以在 cppinsight 示例中看到构造函数调用和后续赋值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.