【发布时间】:2013-03-11 21:09:53
【问题描述】:
如何将 bitset 与整数进行比较?或更一般地使用整数运算符: 像这样:
#include <iostream>
#include <iomanip>
#include <bitset>
using namespace std;
int main()
{
bitset<4> _b1 = 3 ;
if(_b1>=2 )
cout<<_b1;
system("pause");
return 0;
}
【问题讨论】:
-
你不应该使用以
_开头的变量名;它们是为实现而保留的。 -
@AlexChamberlain No, they're not;这只适用于全局命名空间。对于局部变量,名称必须以下划线开头,后跟一个大写字符(或另一个下划线),以便实现保留。
-
@Praetorian 我通常不喜欢犯错,但在这种情况下,我会接受这样一个事实,即我会在明天忘记那些错综复杂的事情,并回到不使用任何变量以
_开头。 -
@Praetorian:我更喜欢'no _'规则,不管它是否正确。它更简单,更容易记住,并且不会让我怀疑名称是否在全局命名空间中。并且符合它的代码不会违反更复杂的规则,也不会让人怀疑是否违反了更复杂的规则,或者他们是否记住了它。
-
this question 的第二个答案有一个很好的实现来比较
bitsets。