[過去ログ] ふらっと C#,C♯,C#(初心者用) Part154 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
530(2): デフォルトの名無しさん (スップ Sd02-pyRw) [sage] 2022/04/25(月) 23:29:40.07 ID:tlwiDwdSd(1) AAS
>>529529(1): デフォルトの名無しさん (ワッチョイ 4603-jcnE) [sage] 2022/04/25(月) 23:12:35.22 ID:VfVmzpJD0(1) AAS
ビット演算子と論理演算子は別物という認識だったのですが、オーバーロードについてはビット演算子(&、|)をオーバーロードすれば論理演算子(&&、||)も有効になるとのことでした
この2つは内部的には同じようなことをやっているんでしょうか?
外部リンク:docs.microsoft.com
によると、
x && y は T.false(x) ? x : T.&(x, y) と等価
x || y は T.true(x) ? x : T.|(x, y) と等価
535: デフォルトの名無しさん (ブーイモ MM5e-pyRw) [sage] 2022/04/26(火) 11:29:37.47 ID:c8R9vZaHM(1) AAS
>>530の言語仕様だと、&や|は logical operator、&&や||は conditional logical operator となってるね
日本の書籍で条件論理演算子とか書いてるのはあまり見たことないけど、分かりやすくて正しい呼び方だと思う
540: デフォルトの名無しさん (ワッチョイ df36-E6ke) [sage] 2022/04/26(火) 20:24:55.48 ID:SD1TZuYK0(1) AAS
>>530
知りませんでした。面白いですね。
仮に int.false(x) が x == 0, そして int.true(x) が x == -1 と定められていれば、
0 && ... や -1 || ... の ... の部分は評価されないということですよね?
つまり、T.true(x) と !T.false(x) が同じにはならないように
T.true と T.false を定めるのが適切なケースもある、と。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.046s