C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part147
https://mevius.5ch.net/test/read.cgi/tech/1576659413/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
探検
C++相談室 part148
■ このスレッドは過去ログ倉庫に格納されています
2020/01/31(金) 20:54:06.26ID:Nt0XFA2s
642デフォルトの名無しさん
2020/02/10(月) 17:52:19.21ID:M5G7J8Pl643はちみつ餃子 ◆8X2XSCHEME
2020/02/10(月) 18:04:03.15ID:gblDkkh1 >>640
現実にはそうだってのならわかるが、質問は保証があるかどうかなんだから、根拠を添えろよ。
少なくとも現状の WinDef.h では FALSE は 0 、 TRUE は 1 と定義されているのはわかったし、
常識的に考えればこれが変更されることはないが、
私はマイクロソフトのドキュメントからこれを裏付けるような文言を見つけられなかった。
BOOL が int であることは発見できた。
https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
should be TRUE or FALSE って書いてあるのにこれに反するような API があるのはアレだよな……。
現実にはそうだってのならわかるが、質問は保証があるかどうかなんだから、根拠を添えろよ。
少なくとも現状の WinDef.h では FALSE は 0 、 TRUE は 1 と定義されているのはわかったし、
常識的に考えればこれが変更されることはないが、
私はマイクロソフトのドキュメントからこれを裏付けるような文言を見つけられなかった。
BOOL が int であることは発見できた。
https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
should be TRUE or FALSE って書いてあるのにこれに反するような API があるのはアレだよな……。
644デフォルトの名無しさん
2020/02/10(月) 18:06:40.24ID:AZ4KAaI2 システムハンガリアンもそうだけど明白な違反が堂々と放置されているからなあ
645デフォルトの名無しさん
2020/02/10(月) 18:08:58.46ID:SkPzv01G646デフォルトの名無しさん
2020/02/10(月) 18:10:00.98ID:SkPzv01G 数学が大事です。
今の場合、仕様書に書いてなくても、数学的に考えれば絶対であることが証明できます。
今の場合、仕様書に書いてなくても、数学的に考えれば絶対であることが証明できます。
647デフォルトの名無しさん
2020/02/10(月) 18:13:48.89ID:M5G7J8Pl 昨日の奴かw
BOOLとboolは別物だということが結局最後まで理解できなかったんだな。
BOOLとboolは別物だということが結局最後まで理解できなかったんだな。
648デフォルトの名無しさん
2020/02/10(月) 18:19:36.47ID:1F9oSbm6 windows apiのスレでやってくれよ
649デフォルトの名無しさん
2020/02/10(月) 18:21:23.11ID:1D/jLqBa650デフォルトの名無しさん
2020/02/10(月) 18:22:28.83ID:SkPzv01G このスレには、失礼ですが、はちみつさんも含め、数学に弱い人が多いようです。
651デフォルトの名無しさん
2020/02/10(月) 18:23:02.20ID:SkPzv01G >>649
いや、むしろ逆に現実では天才と呼ばれています。
いや、むしろ逆に現実では天才と呼ばれています。
652デフォルトの名無しさん
2020/02/10(月) 18:25:05.67ID:SkPzv01G 仕様書にすべては書いてなくても、数学で考えれば絶対であることが証明できる事柄があるのです。
今回のもその一例です。
今回のもその一例です。
653はちみつ餃子 ◆8X2XSCHEME
2020/02/10(月) 18:25:15.66ID:gblDkkh1 ああ、荒らしに来ただけか。
まぜっかえすにしてももうちょっとマシなこと言えよ。
まぜっかえすにしてももうちょっとマシなこと言えよ。
654デフォルトの名無しさん
2020/02/10(月) 18:27:13.76ID:rZ6GQco7 東大数学科卒だが
>>650は頭が弱いと思う
>>650は頭が弱いと思う
655デフォルトの名無しさん
2020/02/10(月) 18:27:37.23ID:rxX2x5Pb マクロはほとんど書く必要なくなったよね。
656デフォルトの名無しさん
2020/02/10(月) 18:27:43.95ID:SkPzv01G 失礼ですが、はちみつ氏は、C++の仕様には詳しいですが、それ以外は結構間違っています。
657デフォルトの名無しさん
2020/02/10(月) 18:29:09.02ID:rZ6GQco7658デフォルトの名無しさん
2020/02/10(月) 18:29:40.36ID:SkPzv01G >>654
でも現実に私は天才と言われています。
でも現実に私は天才と言われています。
659デフォルトの名無しさん
2020/02/10(月) 18:30:41.13ID:rZ6GQco7 数学の実績は?
660デフォルトの名無しさん
2020/02/10(月) 18:31:14.06ID:SkPzv01G661デフォルトの名無しさん
2020/02/10(月) 18:33:21.87ID:rZ6GQco7 学科は?
662デフォルトの名無しさん
2020/02/10(月) 18:33:32.23ID:M5G7J8Pl まとめるとこう。
1. BOOL型およびTRUE/FALSEは真偽値として用いるために*Windowsで独自に定義*されたものだが
厳密には真偽値と振る舞いが異なる
2. 具体的には、FALSEでなれければTRUE、TRUEでなければFALSE、という排中律が成り立たない
3. 排中律が成り立たない以上、FALSEとの比較、TRUEとの比較はそれぞれ意味がある
1. BOOL型およびTRUE/FALSEは真偽値として用いるために*Windowsで独自に定義*されたものだが
厳密には真偽値と振る舞いが異なる
2. 具体的には、FALSEでなれければTRUE、TRUEでなければFALSE、という排中律が成り立たない
3. 排中律が成り立たない以上、FALSEとの比較、TRUEとの比較はそれぞれ意味がある
663デフォルトの名無しさん
2020/02/10(月) 18:34:10.03ID:SkPzv01G ここは、学歴も実績も嘘を付けてしまうので参考になりません。
東大数学科と言うのもたぶんデタラメでしょう。
東大数学科と言うのもたぶんデタラメでしょう。
664デフォルトの名無しさん
2020/02/10(月) 18:34:25.57ID:rZ6GQco7 なんでWindows前提?
665デフォルトの名無しさん
2020/02/10(月) 18:37:31.54ID:rZ6GQco7 排中律君も数学君と同じ人かと思った
違うのかな?
普通の言葉で書こうよ
書けるでしょ
違うのかな?
普通の言葉で書こうよ
書けるでしょ
666はちみつ餃子 ◆8X2XSCHEME
2020/02/10(月) 19:01:26.22ID:gblDkkh1 >>664
TRUE を持つ内では皆が共通に論じられるほど広く知られたもののひとつだからでしょ。
反例としてはひとつあれば充分。
ちなみに「TRUE と比較するべきではない」に対する反例ね。
true であれ TRUE であれ、それと == で比較するのが罠になりやすいっつーのは
罠になりやすい部分として有名すぎて逆によく知られている常識だが、
絶対不変の定理みたいに言い始めたやつがいたから変なことになってるんだよ。
現実はそんな綺麗なもんじゃねーよっていうのに Windows はうってつけだろ?
TRUE を持つ内では皆が共通に論じられるほど広く知られたもののひとつだからでしょ。
反例としてはひとつあれば充分。
ちなみに「TRUE と比較するべきではない」に対する反例ね。
true であれ TRUE であれ、それと == で比較するのが罠になりやすいっつーのは
罠になりやすい部分として有名すぎて逆によく知られている常識だが、
絶対不変の定理みたいに言い始めたやつがいたから変なことになってるんだよ。
現実はそんな綺麗なもんじゃねーよっていうのに Windows はうってつけだろ?
667デフォルトの名無しさん
2020/02/10(月) 19:02:19.07ID:VRCQc/iz BOOLはWindows APIでしか使わないと思ってるから話が通じないんだな
数学君はなぜ話が通じない?
BOOLがTRUE, FALSE, UNKNOWN, ERROR
からなる集合だったら?
数学君はなぜ話が通じない?
BOOLがTRUE, FALSE, UNKNOWN, ERROR
からなる集合だったら?
668デフォルトの名無しさん
2020/02/10(月) 19:04:47.41ID:4ZzuDNO4669デフォルトの名無しさん
2020/02/10(月) 19:06:03.16ID:VRCQc/iz BOOLは非常に広い環境で使われていて
その多くはTRUE/FALSEの2値を示す型として使われる
こういう普通の環境では
if (b) / if (!b)
で判断するのが最良
そうではない特殊な環境(Windows APIなど)は
個々のAPI別に語らないと意味が無い
その多くはTRUE/FALSEの2値を示す型として使われる
こういう普通の環境では
if (b) / if (!b)
で判断するのが最良
そうではない特殊な環境(Windows APIなど)は
個々のAPI別に語らないと意味が無い
670デフォルトの名無しさん
2020/02/10(月) 19:06:46.57ID:VRCQc/iz Wimdows APIに限定した話ならここですべきではない
他へ
他へ
671デフォルトの名無しさん
2020/02/10(月) 19:33:07.36ID:M5G7J8Pl つまり、Windowsで>>439のように書いていたのをWindowsのBOOLを知らずに否定しちゃう人、
というネタそのものを体現してくれたわけだな。
というネタそのものを体現してくれたわけだな。
672デフォルトの名無しさん
2020/02/10(月) 19:35:42.65ID:Ro8qON5e BOOLについて議論するならどのBOOLか限定しないと
enum BOOL {TRUE,FALSE};
みたいなのかもしれないし
負論理の入出力ポート読み書きする値だとかで順番も重要だったりして
enum BOOL {TRUE,FALSE};
みたいなのかもしれないし
負論理の入出力ポート読み書きする値だとかで順番も重要だったりして
673デフォルトの名無しさん
2020/02/10(月) 19:47:34.98ID:VRCQc/iz674デフォルトの名無しさん
2020/02/10(月) 19:56:01.41ID:M5G7J8Pl そもそも、特殊じゃない「普通の環境」のBOOLって何ぞ?
typedef bool BOOL; とかw
typedef bool BOOL; とかw
675デフォルトの名無しさん
2020/02/10(月) 20:01:48.67ID:rxX2x5Pb https://ideone.com/T9gWWT
こうなるので、負の型にキャストするのが良いんですかね?
こうなるので、負の型にキャストするのが良いんですかね?
676デフォルトの名無しさん
2020/02/10(月) 20:25:38.47ID:L7QZkeGE なんでBOOLの話をしてんだよジジイども
677デフォルトの名無しさん
2020/02/10(月) 20:46:16.46ID:te1zn0Q+ 標準にはboolと_Boolしかないんだからそれ以外はどこぞの馬の骨が好き勝手に決めただけの独自定義
そのライブラリのマニュアル熟読しろでこの話は終わり
そのライブラリのマニュアル熟読しろでこの話は終わり
678デフォルトの名無しさん
2020/02/10(月) 21:07:46.28ID:oMyz9pGE679デフォルトの名無しさん
2020/02/10(月) 21:11:10.36ID:dan9Jlhp ナウでヤングな話題よろ
680デフォルトの名無しさん
2020/02/10(月) 21:30:33.43ID:Ui+QSiGG じゃあboolに戻すけど
if (b == true)
これ書く異常者は一定数おるわな
if (b == true)
これ書く異常者は一定数おるわな
682デフォルトの名無しさん
2020/02/10(月) 21:37:09.03ID:AZ4KAaI2 if (b) で済むのを
if (b == true) と書くのは
if (b == true == true) と書く異常者と同じ
きりねえって話
if (b == true) と書くのは
if (b == true == true) と書く異常者と同じ
きりねえって話
683デフォルトの名無しさん
2020/02/10(月) 21:38:01.11ID:AZ4KAaI2 括弧ねえと読めねえ「異常者」出てこいw
684デフォルトの名無しさん
2020/02/10(月) 21:49:47.77ID:rxX2x5Pb >>678
ちゃうねん。
ちゃうねん。
685デフォルトの名無しさん
2020/02/10(月) 21:51:16.94ID:oMyz9pGE >>683
つまんないことでイキんなカス
つまんないことでイキんなカス
686デフォルトの名無しさん
2020/02/10(月) 21:51:26.11ID:M5G7J8Pl bool b;
if (b == true) // コードスメルではあるがバグではない
BOOL b;
if (b == TRUE) // 正しいか正しくないかは状況による
if (b == true) // コードスメルではあるがバグではない
BOOL b;
if (b == TRUE) // 正しいか正しくないかは状況による
687デフォルトの名無しさん
2020/02/10(月) 21:53:08.25ID:AZ4KAaI2 >>685
C++スレでC++以外の言語という「つまんないこと」でイキってんのおまえだろ
C++スレでC++以外の言語という「つまんないこと」でイキってんのおまえだろ
688デフォルトの名無しさん
2020/02/10(月) 21:53:54.97ID:AZ4KAaI2 おまえみたいの「いちびり」って言うんだけど意味わかる?w
>>682
バグにならなければ問題ないのでは?
>if (b == true == true)
とは私も書きませんが、だからといって異常だとは思わない
というか、あなたの「異常」の定義が異常なのでは?
バグにならなければ問題ないのでは?
>if (b == true == true)
とは私も書きませんが、だからといって異常だとは思わない
というか、あなたの「異常」の定義が異常なのでは?
>>688
いちびり、とは、あなた、関西人ですなぁ
いちびり、とは、あなた、関西人ですなぁ
691デフォルトの名無しさん
2020/02/10(月) 22:02:36.14ID:AZ4KAaI2 >>689
正常と異常の境をおまえさんはどこだと思っている?
正常と異常の境をおまえさんはどこだと思っている?
692デフォルトの名無しさん
2020/02/10(月) 22:02:53.98ID:VRCQc/iz693デフォルトの名無しさん
2020/02/10(月) 22:03:55.09ID:AZ4KAaI2694デフォルトの名無しさん
2020/02/10(月) 22:04:40.63ID:AZ4KAaI2 >>692
大文字のBOOLを使う「非常に多くの環境」とは?
大文字のBOOLを使う「非常に多くの環境」とは?
695デフォルトの名無しさん
2020/02/10(月) 22:06:02.65ID:VRCQc/iz >531や>>682が異常とは思えないって
まじかQZ
まじかQZ
696デフォルトの名無しさん
2020/02/10(月) 22:07:56.51ID:M5G7J8Pl697デフォルトの名無しさん
2020/02/10(月) 22:14:01.58ID:VRCQc/iz 本当に知らないんだ
まじか
まじか
698デフォルトの名無しさん
2020/02/10(月) 22:22:07.37ID:4ZzuDNO4 >>697
その返しは口喧嘩に負けた小学生みたいだから、ちゃんと相手の質問に答えなよ
その返しは口喧嘩に負けた小学生みたいだから、ちゃんと相手の質問に答えなよ
699デフォルトの名無しさん
2020/02/10(月) 22:23:41.11ID:1F9oSbm6 非常に多いなら具体例2、3あげて終わりでしょ
700デフォルトの名無しさん
2020/02/10(月) 22:24:53.62ID:M5G7J8Pl もう自分で何を言っているのかわからなくなっているんだろうな。
BOOLやTRUEの定義が環境によって異なる場合があると認めた時点で
if (b == TRUE)
これが正しいと言えるかどうかはその定義次第だということになるのに。
BOOLやTRUEの定義が環境によって異なる場合があると認めた時点で
if (b == TRUE)
これが正しいと言えるかどうかはその定義次第だということになるのに。
701デフォルトの名無しさん
2020/02/10(月) 22:29:19.34ID:TAH0RZ5f 俺の狭い経験だと
BOOLはintで、TRUEは1、FALSEは0
しか見たことないけど、他の定義の環境ってあるのかな?
BOOLはintで、TRUEは1、FALSEは0
しか見たことないけど、他の定義の環境ってあるのかな?
702デフォルトの名無しさん
2020/02/10(月) 22:33:34.58ID:PZnoEIEf −1というか全ビットonは何かで見た
703デフォルトの名無しさん
2020/02/10(月) 22:50:32.94ID:Qny4UpdU windef.hのFALSEが-1とかに変更されたら、既存のソースは崩壊だろうな
704デフォルトの名無しさん
2020/02/10(月) 23:14:46.53ID:zaYnGTVS !FALSE
705デフォルトの名無しさん
2020/02/10(月) 23:38:01.28ID:yW0oU9fF typedef unsigned BOOL:1;
ならまだ救いがあった
なんでint型にしてんだろうな
ならまだ救いがあった
なんでint型にしてんだろうな
706デフォルトの名無しさん
2020/02/11(火) 00:40:44.45ID:wwgXq7Q5 >>705
それは BitField みたいだけど、構造体メンバ以外で使えるようになったんだっけ?
それは BitField みたいだけど、構造体メンバ以外で使えるようになったんだっけ?
707デフォルトの名無しさん
2020/02/11(火) 01:18:20.91ID:wwgXq7Q5 >>703
FALSEは絶対的に0のまま。
FALSEは絶対的に0のまま。
708デフォルトの名無しさん
2020/02/11(火) 01:20:55.07ID:wwgXq7Q5 もしかしたら、Rubyが、0をtrueと解釈してしまうことから変なことを思ってる
人がいるのかもしれないが、C/C++においては、言語仕様的に条件式で偽と
解釈されるのは、古くから、唯一、整数の 0 しかないなかったので、言語仕様が
修正されない限り TRUE が 0 以外の値にマクロ定義されることは絶対に無い。
人がいるのかもしれないが、C/C++においては、言語仕様的に条件式で偽と
解釈されるのは、古くから、唯一、整数の 0 しかないなかったので、言語仕様が
修正されない限り TRUE が 0 以外の値にマクロ定義されることは絶対に無い。
709デフォルトの名無しさん
2020/02/11(火) 02:07:59.10ID:iFdutQCH あれ?
もしかして私・・また同じ日を繰り返してる・・??
もしかして私・・また同じ日を繰り返してる・・??
710デフォルトの名無しさん
2020/02/11(火) 02:12:10.45ID:lTJc7ZeR まだやってんのかお前ら
ゲハ厨みたいなスレだな
ゲハ厨みたいなスレだな
711デフォルトの名無しさん
2020/02/11(火) 02:43:47.12ID:wwgXq7Q5712デフォルトの名無しさん
2020/02/11(火) 02:58:41.73ID:f/mZFEPY >>681
if(b)で十分なのにif(b==true)と書くのはif((a==b)==true)と書くのと同じで冗長なんだよ
これがすぐに理解できないなら論理を簡潔にする能力が欠如してるのでプログラミングの才能はないね
if(b)で十分なのにif(b==true)と書くのはif((a==b)==true)と書くのと同じで冗長なんだよ
これがすぐに理解できないなら論理を簡潔にする能力が欠如してるのでプログラミングの才能はないね
713デフォルトの名無しさん
2020/02/11(火) 03:04:36.42ID:wwgXq7Q5 >>712
しかも、b は、少なくとも見かけ上は int 型ではなく、BOOL 型だし。
それに他の言語の場合、if の条件式に入れられるのは唯一 bool 型の
場合があり、一番 if の条件式に入れ易い型。
しかも、b は、少なくとも見かけ上は int 型ではなく、BOOL 型だし。
それに他の言語の場合、if の条件式に入れられるのは唯一 bool 型の
場合があり、一番 if の条件式に入れ易い型。
714デフォルトの名無しさん
2020/02/11(火) 03:08:16.20ID:wwgXq7Q5 >>713
他の言語の場合、例えば x, y が整数型の場合、
x == y
とした結果の型が bool 型。
そして、if の条件式に入れられるのは bool 型のみだったりする。
だから、もともと b が bool 型なのに、敢えて b == true と判定して
また bool 型に「直して」しまうのはとても奇妙な感じになる。
その文化との兼ね合いから、C/C++ でも、b が BOOL 型の場合は、
if (b) とするのが美しく見える。
他の言語の場合、例えば x, y が整数型の場合、
x == y
とした結果の型が bool 型。
そして、if の条件式に入れられるのは bool 型のみだったりする。
だから、もともと b が bool 型なのに、敢えて b == true と判定して
また bool 型に「直して」しまうのはとても奇妙な感じになる。
その文化との兼ね合いから、C/C++ でも、b が BOOL 型の場合は、
if (b) とするのが美しく見える。
715デフォルトの名無しさん
2020/02/11(火) 03:33:01.69ID:AiNLffgv MISRA-C でも、if( 変数 )で、変数が実質的にブール型の場合は、これでOK
int a = ( 5 < 10 );
printf( "%d", a ); /* 1 */
if( 5 < 10 ) と、if( a ) は同じ意味。
a は、実質的にブール型
int a = ( 5 < 10 );
printf( "%d", a ); /* 1 */
if( 5 < 10 ) と、if( a ) は同じ意味。
a は、実質的にブール型
716デフォルトの名無しさん
2020/02/11(火) 06:36:51.44ID:DrkniQZr bool型が存在しない時代に何故bool型になるのか
>>695
異常を「コンパイラがコンパイルできない」と定義していますから
異常を「コンパイラがコンパイルできない」と定義していますから
>>712
コンパイルが通るんだったら異常ではないのでは?
コンパイルが通るんだったら異常ではないのでは?
720デフォルトの名無しさん
2020/02/11(火) 08:29:09.76ID:lXsf9fbV 簡潔過ぎて分かりにくいって何?
if (b) で分かりにくいなら
変数名が適切でないとかそもそも分かりにくい作りとか
他に問題があるんじゃないの?
if (b) で分かりにくいなら
変数名が適切でないとかそもそも分かりにくい作りとか
他に問題があるんじゃないの?
721デフォルトの名無しさん
2020/02/11(火) 08:33:12.52ID:lXsf9fbV もしかして
if (a ==b)
よりも
if ( (a == b) == true )
の方が見やすいとかいっちゃう?
if (a ==b)
よりも
if ( (a == b) == true )
の方が見やすいとかいっちゃう?
722デフォルトの名無しさん
2020/02/11(火) 08:56:04.07ID:tUwi24Vl そりゃ
if (a == 42)
よりも
if (a == 42 == true)
のほうが見やすいし
if (a == 42 == true != false)
のほうがさらに見やすいのが異常者
if (a == 42)
よりも
if (a == 42 == true)
のほうが見やすいし
if (a == 42 == true != false)
のほうがさらに見やすいのが異常者
723デフォルトの名無しさん
2020/02/11(火) 08:58:48.06ID:lXsf9fbV カッコも付けないと見にくいよな
if (((a == 42) == true) != false)
if (((a == 42) == true) != false)
724デフォルトの名無しさん
2020/02/11(火) 09:09:46.71ID:Kcy+Q8b9 どれだけ冗長に書けるか選手権?
725デフォルトの名無しさん
2020/02/11(火) 09:15:23.55ID:oAfdlMqH QZは変なこだわりに固執するやつだから、一般的な感覚とか常識とかについて議論しようとしてもそもそも議論が噛み合わないし、スレを無駄に汚すだけ
726デフォルトの名無しさん
2020/02/11(火) 09:21:24.68ID:tUwi24Vl if (true == true == true == b == true)
if (true == b == true == b == true)
int *p = &*&*(int *)&*&*&*&*&*(int *)&a;
if (true == b == true == b == true)
int *p = &*&*(int *)&*&*&*&*&*(int *)&a;
727デフォルトの名無しさん
2020/02/11(火) 09:34:27.73ID:Gt4Evnq6 ようちえんじがかんじをつかわないでってぐずってるのとおなじだね
728デフォルトの名無しさん
2020/02/11(火) 10:19:17.04ID:G5APdl5q 異常とは、普通じゃないことだよ
少数派のこと
if (b == true == true) は明らかに異常
if (b == true) はたまに見るけど、まぁ異常かな
少数派のこと
if (b == true == true) は明らかに異常
if (b == true) はたまに見るけど、まぁ異常かな
729デフォルトの名無しさん
2020/02/11(火) 10:34:12.60ID:lXsf9fbV つまりQZは異常
730デフォルトの名無しさん
2020/02/11(火) 10:35:43.55ID:Kcy+Q8b9 boolやBOOLでない変数abcをif(a==b==c)と書きたい事はある。
731デフォルトの名無しさん
2020/02/11(火) 10:56:56.94ID:0rT9FQIK QZってコイツ片山だっけ?
732デフォルトの名無しさん
2020/02/11(火) 11:01:53.65ID:u3DUqgh+ if(b==true)
はifのなかには比較入れないとダメだと思っているんじゃね
そう言う言語もあるし
はifのなかには比較入れないとダメだと思っているんじゃね
そう言う言語もあるし
733デフォルトの名無しさん
2020/02/11(火) 11:09:22.66ID:IotAbjtu 「rust が c++ を超えた!! 神!!」みたいな記事をよく見ますけど、今後c++がrustから学んでもっと良くなることって期待して良いですよね?
rustに勉強のコストを割くか迷っています
rustに勉強のコストを割くか迷っています
734デフォルトの名無しさん
2020/02/11(火) 11:12:06.04ID:HeZx7HUk735デフォルトの名無しさん
2020/02/11(火) 11:29:50.94ID:Ci+AyeA2 なぜ
if (a == true)
と書くやつがでてくるのか
それは条件式に食わせるためには比較演算子で値から「真偽値」に変える必要があると
思っていてそれがboolと同値と理解していないからだろ
だからそういうやつは
if (a == 42 == true)
とは書かない
この例はむしろboolを理解してるやつからしか出てこない発想
やつらはいったん「真偽値」になればあとは論理演算子でつなげると理解している
ある意味、条件式を作るときのイディオムに馬鹿正直に従っているわけで別に
異常だと騒ぐほどひどくはない
別の見方をすればboolを特別視しないで書いてるわけで、
冗長にはなるが共通のフォーマットで書ききるってことはほかでもあることだ
そう思えばやっぱりひどくはない
実際おれは特別読みにくいとは感じないし、この無駄は最適化で消える
何かの機会にこれ冗長だよねと教えてやるぐらいで十分
if (a == true)
と書くやつがでてくるのか
それは条件式に食わせるためには比較演算子で値から「真偽値」に変える必要があると
思っていてそれがboolと同値と理解していないからだろ
だからそういうやつは
if (a == 42 == true)
とは書かない
この例はむしろboolを理解してるやつからしか出てこない発想
やつらはいったん「真偽値」になればあとは論理演算子でつなげると理解している
ある意味、条件式を作るときのイディオムに馬鹿正直に従っているわけで別に
異常だと騒ぐほどひどくはない
別の見方をすればboolを特別視しないで書いてるわけで、
冗長にはなるが共通のフォーマットで書ききるってことはほかでもあることだ
そう思えばやっぱりひどくはない
実際おれは特別読みにくいとは感じないし、この無駄は最適化で消える
何かの機会にこれ冗長だよねと教えてやるぐらいで十分
736デフォルトの名無しさん
2020/02/11(火) 11:37:00.49ID:kh2SGwFh ほんといつまでやってんの
737デフォルトの名無しさん
2020/02/11(火) 11:38:29.11ID:KQZ3+5BK 冗長な書き方をする人の真意なんて測りようもないし理由が一つに決められるわけもないだろう。
想像するだけ無駄。
想像するだけ無駄。
738はちみつ餃子 ◆8X2XSCHEME
2020/02/11(火) 12:17:11.73ID:GpQNLMm4 >>715
そう書くべきだしそれが普通ってことはわかってんだって。
自分で書く分にはそう書くよ。
でも、他者が書いたコードを読むときや利用するときは
> 変数が実質的にブール型の場合は
っていう前提を確信できない場合がある。
整数型で真偽値の代用にすることがある C/C++ では
型で判断できないことがあるから罠だよねって話をしてるんだよ。
真っ当なデザインではない場合があるから思い込まずにちゃんと確認しようねってこと。
そう書くべきだしそれが普通ってことはわかってんだって。
自分で書く分にはそう書くよ。
でも、他者が書いたコードを読むときや利用するときは
> 変数が実質的にブール型の場合は
っていう前提を確信できない場合がある。
整数型で真偽値の代用にすることがある C/C++ では
型で判断できないことがあるから罠だよねって話をしてるんだよ。
真っ当なデザインではない場合があるから思い込まずにちゃんと確認しようねってこと。
739デフォルトの名無しさん
2020/02/11(火) 15:09:17.27ID:lXsf9fbV740デフォルトの名無しさん
2020/02/11(火) 15:15:33.26ID:Gt4Evnq6 > この例はむしろboolを理解してるやつからしか出てこない発想
そりゃそうだ
ifの制御式は比較でなければならないと言い張るやつへの皮肉なわけで
そりゃそうだ
ifの制御式は比較でなければならないと言い張るやつへの皮肉なわけで
741デフォルトの名無しさん
2020/02/11(火) 15:19:47.85ID:QCVkc9h/ operator =(BOOL value){
if(value==0){
return FALSE;
else if(value==1||value==2||...){
}
if(value==0){
return FALSE;
else if(value==1||value==2||...){
}
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- (´・ω・`)おはよ
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- くそしてかがやけ
- 🪬本日のコンマ占い🧿
