New*_*bie 1 c++ boolean visual-studio-2008
我喜欢(bool)更多,但它会产生警告.我如何摆脱警告?
我的代码如下:
bool something_else = 0;
void switcher(int val = -1){
if(val != -1){
something_else = (bool)val;
}else{
something_else ^= 1;
}
}
Run Code Online (Sandbox Code Playgroud)
我应该像其他人一样做,并使用'!!' 或者在使用(bool)时以某种方式隐藏警告信息?或者是'!!' 实际上比(布尔)更快?
我想用(bool)所以我必须隐藏警告,但是如何?
编辑:我正在使用Visual Studio 2008,对不起,我忘了告诉.
编辑2:警告信息是warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
和它出现在线something_else = (bool)val;
上但在线something_else = val;
但不在线something_else = !!val;
问题是,我希望它尊重我想将其转换为布尔值.我不想隐藏所有布尔警告,因为有时候他们保存了我的屁股.
Ker*_*ido 14
您应该使用特定于该bool
类型的运算符和构造:
bool something_else = false;
void switcher(int val = -1)
{
if(val == -1) // val is -1 by default so THIS part is likely to execute
something_else = !something_else;
else
something_else = (val != 0);
}
Run Code Online (Sandbox Code Playgroud)
如果您的昵称是不言自明的,那么编写其他人也会理解的代码可能是有意义的.如果遇到这个特殊问题,bool
适当使用该类型肯定会改善您与其他开发人员的进一步合作.
归档时间: |
|
查看次数: |
6947 次 |
最近记录: |