アカウント名:
パスワード:
`key_data_->label().empty()`に副作用がないなら条件付きか否かで変わらなくない?と思ったが、C++だと&はビット演算で両方trueでもfalseになることがあるのか。&&と&は条件付きかだけじゃなく評価の仕方が違うのね。C#で両辺boolなら無視できるパフォーマンス上の問題でしかないからピンとこなかったわ。
C#とかJavaでも両辺が整数とかだったりすると…C#とかJavaだと評価の仕方が違うというかboolとそれ以外で事実上全然別の演算子ですね。
C#は演算子オーバーロードがあるのでなんでもあり。ただifの条件にbool以外は入らないからこういう問題はまず起こらない。boolへの暗黙の型変換が定義されてれば起こせなくはないがまぁ起きない
判定結果をブール値として変数に入れようとしたがビット演算の結果が変数に入ったりはあるかも。型推量とかあるからね。まあブール値として使おうとしたところでコンパイルが通らなくなりなんでだろ~になって終わる。コンパイルが通らないからリリースもされない。気づくまでにどれくらいかかるかは人によるだろう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
なんで? (スコア:3, 参考になる)
`key_data_->label().empty()`に副作用がないなら条件付きか否かで変わらなくない?
と思ったが、C++だと&はビット演算で両方trueでもfalseになることがあるのか。
&&と&は条件付きかだけじゃなく評価の仕方が違うのね。
C#で両辺boolなら無視できるパフォーマンス上の問題でしかないからピンとこなかったわ。
Re: (スコア:0)
C#とかJavaでも両辺が整数とかだったりすると…
C#とかJavaだと評価の仕方が違うというかboolとそれ以外で事実上全然別の演算子ですね。
Re:なんで? (スコア:0)
C#は演算子オーバーロードがあるのでなんでもあり。
ただifの条件にbool以外は入らないからこういう問題はまず起こらない。
boolへの暗黙の型変換が定義されてれば起こせなくはないがまぁ起きない
Re: (スコア:0)
判定結果をブール値として変数に入れようとしたがビット演算の結果が変数に入ったりはあるかも。型推量とかあるからね。
まあブール値として使おうとしたところでコンパイルが通らなくなりなんでだろ~になって終わる。コンパイルが通らないからリリースもされない。気づくまでにどれくらいかかるかは人によるだろう。