0

VS 10 では、次の警告が表示されます。

warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)

コンパイルしようとしています

int x ;
static_cast<bool>(x);

この警告が発生しないコードを書くにはどうすればよいでしょうか?

4

3 に答える 3

7

これはどうですか:

x != 0
于 2013-01-09T16:52:18.550 に答える
2
int x ;
bool b1 = !!x;  // common idiom; get used to it.  "Newcomers" just need to learn the idiom.
bool b2 = x!=0; // another way, less idiomatic
于 2013-01-09T18:03:15.863 に答える
1

これはばかげた警告であり、無視/無効にすることができます。私の知る限り、パフォーマンスの問題はありません。

于 2013-03-07T17:01:23.830 に答える