- 1 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 20:54:06.26 ID:Nt0XFA2s.net]
- C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part147 https://mevius.5ch.net/test/read.cgi/tech/1576659413/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.105【環境依存OK】 mevius.5ch.net/test/read.cgi/tech/1556142878/ ■長いソースを貼るときはここへ。■ codepad.org/ https://ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語)
- 637 名前:デフォルトの名無しさん [2020/02/10(月) 03:53:35.38 ID:rxX2x5Pb.net]
- んなわけない。
- 638 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 04:03:09.14 ID:2gVSY1CN.net]
- Pythonはtypoがつらい。
- 639 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 08:01:35 ID:staO5LAL.net]
- ごちゃごちゃいうよりまずはいっぺんオッPythonで
そこそこの規模のプログラム(最低1000行以上)かいてみりゃわかる はっきりいってクソだよ あんなもんで巨大なプログラムはとても書けたもんじゃない
- 640 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 08:53:11.04 ID:GJT/1Bxa.net]
- 自分で1000行も書かなくても、どこかの誰かが書いてくれたライブラリを呼び出せば
望んだ仕事をやってくれるって部分がPythonの好まれる理由じゃないのん
- 641 名前:?
C++を使う人は、Pythonの流行を裏から支えてる感じで。 [] - [ここ壊れてます]
- 642 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 10:10:17.80 ID:hDJC6jsQ.net]
- pythonで1000行くらいで根をあげてるようじゃ
どんなコード見ても文句言い出すだろ。。仕事にならんわ。
- 643 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 10:24:50.55 ID:JgTqubiS.net]
- インデントをきっちり合わせないといけないので、Cの適当なインデントにうんざりしてる人にはむしろ合うかもしれない
でも関数やブロックが大きくなると、同一階層を探すのがつらくなるので、適切なブロック、関数分けが必須になる いずれにしても、神経質な人には合ってるのかもしれない
- 644 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 10:46:13.48 ID:oMyz9pGE.net]
- 機械学習ならpythonほぼ必須なんだが
いまだにやったことないとか ロートルなのを白状してるようなもん
- 645 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 11:15:12.10 ID:yW0oU9fF.net]
- 変数がどんな型にも化けられる変態言語
- 646 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 11:25:16.00 ID:8A84p9rG.net]
- pythonがいいとは思わないけど、perlがクソすぎるので相対的にマシだから流行ってる
それ以上の理由はないと思う
- 647 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 11:37:39.28 ID:oMyz9pGE.net]
- perlの代替っていつの時代の話だよ
お前完全に取り残されてるぞ
- 648 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 11:50:23.10 ID:SkPzv01G.net]
- Pythonは、スマホで動かすのは難しいらしい。
少なくともスクリプト言語として動かすのは困難。 デスクトップマシンですら、 ・互換性の問題がある。Ver 2系と Ver 3系で大幅に異なると聞いた。 ・Windowsですらどの処理系が標準か不明。 ・GUIがちゃんとまともに使えるかどうか不明。
- 649 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 11:55:31.13 ID:SkPzv01G.net]
- >>630
Pythonのせいではなく、Perlのようなスクリプト言語がそもそも使えないという スマホの限界だとは思う。 スマホでも使えることは使えても、IDEのような専用環境だけで使えるだけでは 本来のスクリプト言語としては使い物にならない。 このスマホの時代に Perl, Python, Ruby は合わないかも。
- 650 名前:デフォルトの名無しさん [2020/02/10(月) 11:58:33.88 ID:SkPzv01G.net]
- iOS, Android 共通にスクリプト的なことをやりたいなら、もう、スクリプト言語は諦めて、
C++で書いておいて iOSではSwift とリンクし、Androidでは、JNIを使ってJavaから 呼び出すほうがずっと簡単。 なお、AndroidならシェルスクリプトがPythonなんかより遥かに簡単に使える。
- 651 名前:はちみつ餃子 mailto:sage [2020/02/10(月) 12:13:49.40 ID:gblDkkh1.net]
- >>625
- 括弧などに従って自動でインデントが付く - 手動 (あるいは半自動) でインデントの位置を合わせる これの二択だったら前者の方が「きっちり」してると思うわ。 まあインデントの付け方にいくつかの選択肢がある点はやりづらい面も あるかもしれんが、自由度と統一性は両立できないもんだしな。 Python はいじったことないからよう知らんけど、 (インデントで構造を表す系統の文法である) Haskell を書くのはつらかった。 Haskell ではインデントと改行の替わりに波括弧とセミコロンも使えるけど、Python にそういうのないの?
- 652 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 12:34:04 ID:oMyz9pGE.net]
- pythonをswift, javaなんかと比較してる人は
隔離された世界で誰にも使われないアプリを細々と作ってる感じがするわw 学習系を含むデータ解析のツールとして環境が優れてるからpythonが人気なんだよ c++でテンプレートいじってるよりビッグデータ解析してビジネス提案できる方がはるかに収入高い
- 653 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/02/10(月) 12:51:05 ID:gblDkkh1.net]
- おっ、煽り入りました〜〜
- 654 名前: []
- [ここ壊れてます]
- 655 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 13:26:43 ID:NGNAXTbr.net]
- ビジネス提案おじさん
- 656 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 14:18:49.02 ID:SkPzv01G.net]
- >>633
ブロック開始終了記号とインデントを両方組み合わせたものが一番分かり易くて間違いにくい。 インデントだけでやると、個人的には見間違いそうで神経をすり減らすので辛い。
- 657 名前:デフォルトの名無しさん [2020/02/10(月) 17:30:56 ID:rxX2x5Pb.net]
- 研究者が使うのにPythonは良い選択なんじゃないの。
事務作業にVBAが良い選択なのと同様に。
- 658 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:40:26 ID:pqZ9DEAl.net]
- 今さらですが、そもそもWin32のFALSEって、0であることは保証されてるんですか?
BOOL b = FALSE; if (b) { ここに来ないことは保証されてるんですか? }
- 659 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:42:58 ID:SkPzv01G.net]
- >>639
まともな C/C++ では、FALSE はどんな処理系でも 0 であることが保障される。
- 660 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:43:39 ID:SkPzv01G.net]
- >>639
当然、そこに来ないことも保障される。
- 661 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:52:19 ID:M5G7J8Pl.net]
- >>639
規格書のようなレベルで規定されているかどうかは知らないけど、公式ドキュメントの至るところで FALSEは0である前提で書かれているものが見つかるから、そこを疑う必要はないと思う。 >>640 FALSEはWindows SDKの定義であってC/C++とは直接関係ないんだが。
- 662 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/02/10(月) 18:04:03 ID:gblDkkh1.net]
- >>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 があるのはアレだよな……。
- 663 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:06:40 ID:AZ4KAaI2.net]
- システムハンガリアンもそうだけど明白な違反が堂々と放置されているからなあ
- 664 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:08:58 ID:SkPzv01G.net]
- >>642 >>643
[根拠] 数学的に以下の根拠となる: 1. FALSE は、if ( FALSE ) とすると、偽として処理されることは絶対に保障される。 2. if (x) で x が偽として評価されるのは、ANSI C も、古い C でも必ず 0 という1つの値のみであり、他の値はすべて真と評価される。 1, 2 を両方成り立たせるためには、FALSE は必ず 0 でなければならないことが 証明される。
- 665 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:10:00 ID:SkPzv01G.net]
- 数学が大事です。
今の場合、仕様書に書いてなくても、数学的に考えれば絶対であることが証明できます。
- 666 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:13:48.89 ID:M5G7J8Pl.net]
- 昨日の奴かw
BOOLとboolは別物だということが結局最後まで理解できなかったんだな。
- 667 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:19:36.47 ID:1F9oSbm6.net]
- windows apiのスレでやってくれよ
- 668 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:21:23.11 ID:1D/jLqBa.net]
- >>645
頭が悪いとか話が通じないってよく言われない? 言われる度に相手の方が間違ってると思ってるだろうけど、話が通じてないのはお前が自分の間違いを認識できてないからだぞw
- 669 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:22:28.83 ID:SkPzv01G.net]
- このスレには、失礼ですが、はちみつさんも含め、数学に弱い人が多いようです。
- 670 名前:デフォルトの名無しさん [2020/02/10(月) 18:23:02.20 ID:SkPzv01G.net]
- >>649
いや、むしろ逆に現実では天才と呼ばれています。
- 671 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:25:05.67 ID:SkPzv01G.net]
- 仕様書にすべては書いてなくても、数学で考えれば絶対であることが証明できる事柄があるのです。
今回のもその一例です。
- 672 名前:はちみつ餃子 mailto:sage [2020/02/10(月) 18:25:15.66 ID:gblDkkh1.net]
- ああ、荒らしに来ただけか。
まぜっかえすにしてももうちょっとマシなこと言えよ。
- 673 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:27:13.76 ID:rZ6GQco7.net]
- 東大数学科卒だが
>>650は頭が弱いと思う
- 674 名前:デフォルトの名無しさん [2020/02/10(月) 18:27:37.23 ID:rxX2x5Pb.net]
- マクロはほとんど書く
- 675 名前:必要なくなったよね。 []
- [ここ壊れてます]
- 676 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:27:43.95 ID:SkPzv01G.net]
- 失礼ですが、はちみつ氏は、C++の仕様には詳しいですが、それ以外は結構間違っています。
- 677 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:29:09.02 ID:rZ6GQco7.net]
- >>656
ここでの君の書き込みだけで判断すると 君が間違ってる可能性が高い
- 678 名前:デフォルトの名無しさん [2020/02/10(月) 18:29:40.36 ID:SkPzv01G.net]
- >>654
でも現実に私は天才と言われています。
- 679 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:30:41.13 ID:rZ6GQco7.net]
- 数学の実績は?
- 680 名前:デフォルトの名無しさん [2020/02/10(月) 18:31:14 ID:SkPzv01G.net]
- >>1
私は、東大数学科の人とは意見が一致することが多いです。 よく考えてみてください。 もし分からないようなら、多分、あたなは東大数学科ではないか、レベルが落ちてしまったと思われます。
- 681 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:33:21 ID:rZ6GQco7.net]
- 学科は?
- 682 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:33:32 ID:M5G7J8Pl.net]
- まとめるとこう。
1. BOOL型およびTRUE/FALSEは真偽値として用いるために*Windowsで独自に定義*されたものだが 厳密には真偽値と振る舞いが異なる 2. 具体的には、FALSEでなれければTRUE、TRUEでなければFALSE、という排中律が成り立たない 3. 排中律が成り立たない以上、FALSEとの比較、TRUEとの比較はそれぞれ意味がある
- 683 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:34:10 ID:SkPzv01G.net]
- ここは、学歴も実績も嘘を付けてしまうので参考になりません。
東大数学科と言うのもたぶんデタラメでしょう。
- 684 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:34:25 ID:rZ6GQco7.net]
- なんでWindows前提?
- 685 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:37:31 ID:rZ6GQco7.net]
- 排中律君も数学君と同じ人かと思った
違うのかな? 普通の言葉で書こうよ 書けるでしょ
- 686 名前:はちみつ餃子 mailto:sage [2020/02/10(月) 19:01:26.22 ID:gblDkkh1.net]
- >>664
TRUE を持つ内では皆が共通に論じられるほど広く知られたもののひとつだからでしょ。 反例としてはひとつあれば充分。 ちなみに「TRUE と比較するべきではない」に対する反例ね。 true であれ TRUE であれ、それと == で比較するのが罠になりやすいっつーのは 罠になりやすい部分として有名すぎて逆によく知られている常識だが、 絶対不変の定理みたいに言い始めたやつがいたから変なことになってるんだよ。 現実はそんな綺麗なもんじゃねーよっていうのに Windows はうってつけだろ?
- 687 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:02:19.07 ID:VRCQc/iz.net]
- BOOLはWindows APIでしか使わないと思ってるから話が通じないんだな
数学君はなぜ話が通じない? BOOLがTRUE, FALSE, UNKNOWN, ERROR からなる集合だったら?
- 688 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:04:47.41 ID:4ZzuDNO4.net]
- >>664
>>639からの流れで、あくまでWin32APIの中でのFALSEの話をしているからだろう
- 689 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:06:03.16 ID:VRCQc/iz.net]
- BOOLは非常に広い環境で使われていて
その多くはTRUE/FALSEの2値を示す型として使われる こういう普通の環境では if (b) / if (!b) で判断するのが最良 そうではない特殊な環境(Windows APIなど)は 個々のAPI別に語らないと意味が無い
- 690 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:06:46.57 ID:VRCQc/iz.net]
- Wimdows APIに限定した話ならここですべきではない
他へ
- 691 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:33:07.36 ID:M5G7J8Pl.net]
- つまり、Windowsで>>439のように書いていたのをWindowsのBOOLを知らずに否定しちゃう人、
というネタそのものを体現してくれたわけだな。
- 692 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:35:42.65 ID:Ro8qON5e.net]
- BOOLについて議論するならどのBOOLか限定しないと
enum BOOL {TRUE,FALSE}; みたいなのかもしれないし 負論理の入出力ポート読み書きする値だとかで順番も重要だったりして
- 693 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:47:34.98 ID:VRCQc/iz.net]
- >>671
何が「つまり」だか Windows APIが色々と特殊なのは知ってるよ Windows 2.0から組んでるし 特殊事情はあくまで特殊事情
- 694 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:56:01 ID:M5G7J8Pl.net]
- そもそも、特殊じゃない「普通の環境」のBOOLって何ぞ?
typedef bool BOOL; とかw
- 695 名前:デフォルトの名無しさん [2020/02/10(月) 20:01:48 ID:rxX2x5Pb.net]
- https://ideone.com/T9gWWT
こうなるので、負の型にキャストするのが良いんですかね?
- 696 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 20:25:38.47 ID:L7QZkeGE.net]
- なんでBOOLの話をしてんだよジジイども
- 697 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 20:46:16.46 ID:te1zn0Q+.net]
- 標準にはboolと_Boolしかないんだからそれ以外はどこぞの馬の骨が好き勝手に決めただけの独自定義
そのライブラリのマニュアル熟読しろでこの話は終わり
- 698 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 21:07:46.28 ID:oMyz9pGE.net]
- >>675
そうなんだけど C言語スレでやれ じじくさい話ばっかりでうんざりするわ
- 699 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 21:11:10.36 ID:dan9Jlhp.net]
- ナウでヤングな話題よろ
- 700 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 21:30:33.43 ID:Ui+QSiGG.net]
- じゃあboolに戻すけど
if (b == true) これ書く異常者は一定数おるわな
- 701 名前: mailto:sage [2020/02/10(月) 21:33:51.78 ID:3bnN/FFY.net]
- >>680
私には正常な書き方に思えますよ その書き方のどこが異常なのでしょうか?
- 702 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 21:37:09.03 ID:AZ4KAaI2.net]
- if (b) で済むのを
if (b == true) と書くのは if (b == true == true) と書く異常者と同じ きりねえって話
- 703 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 21:38:01.11 ID:AZ4KAaI2.net]
- 括弧ねえと読めねえ「異常者」出てこいw
- 704 名前:デフォルトの名無しさん [2020/02/10(月) 21:49:47.77 ID:rxX2x5Pb.net]
- >>678
ちゃうねん。
- 705 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 21:51:16.94 ID:oMyz9pGE.net]
- >>683
つまんないことでイキんなカス
- 706 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 21:51:26.11 ID:M5G7J8Pl.net]
- bool b;
if (b == true) // コードスメルではあるがバグではない BOOL b; if (b == TRUE) // 正しいか正しくないかは状況による
- 707 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 21:53:08.25 ID:AZ4KAaI2.net]
- >>685
C++スレでC++以外の言語という「つまんないこと」でイキってんのおまえだろ
- 708 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 21:53:54.97 ID:AZ4KAaI2.net]
- おまえみたいの「いちびり」って言うんだけど意味わかる?w
- 709 名前: mailto:sage [2020/02/10(月) 21:55:45.19 ID:3bnN/FFY.net]
- >>682
バグにならなければ問題ないのでは? >if (b == true == true) とは私も書きませんが、だからといって異常だとは思わない というか、あなたの「異常」の定義が異常なのでは?
- 710 名前: mailto:sage [2020/02/10(月) 21:56:36.80 ID:3bnN/FFY.net]
- >>688
いちびり、とは、あなた、関西人ですなぁ
- 711 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:02:36.14 ID:AZ4KAaI2.net]
- >>689
正常と異常の境をおまえさんはどこだと思っている?
- 712 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:02:53.98 ID:VRCQc/iz.net]
- >>674
Windowsしか知らないの? 世界が狭い 非常に多くの環境でBOOLを使う
- 713 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:03:55.09 ID:AZ4KAaI2.net]
- >>690
ああ、おまえほんまは関西人ちゃうなw 俺もほんまの関西人ちゃうけどなw
- 714 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:04:40.63 ID:AZ4KAaI2.net]
- >>692
大文字のBOOLを使う「非常に多くの環境」とは?
- 715 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:06:02.65 ID:VRCQc/iz.net]
- >531や>>682が異常とは思えないって
まじかQZ
- 716 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:07:56.51 ID:M5G7J8Pl.net]
- >>692
その定義を出してみなよ。 標準の仕様じゃないんだからその環境ごとの特殊な定義であることは変わらんだろ。
- 717 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:14:01.58 ID:VRCQc/iz.net]
- 本当に知らないんだ
まじか
- 718 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:22:07.37 ID:4ZzuDNO4.net]
- >>697
その返しは口喧嘩に負けた小学生みたいだから、ちゃんと相手の質問に答えなよ
- 719 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:23:41.11 ID:1F9oSbm6.net]
- 非常に多いなら具体例2、3あげて終わりでしょ
- 720 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:24:53.62 ID:M5G7J8Pl.net]
- もう自分で何を言っているのかわからなくなっているんだろうな。
BOOLやTRUEの定義が環境によって異なる場合があると認めた時点で if (b == TRUE) これが正しいと言えるかどうかはその定義次第だということになるのに。
- 721 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:29:19.34 ID:TAH0RZ5f.net]
- 俺の狭い経験だと
BOOLはintで、TRUEは1、FALSEは0 しか見たことないけど、他の定義の環境ってあるの
- 722 名前:ゥな? []
- [ここ壊れてます]
- 723 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:33:34.58 ID:PZnoEIEf.net]
- −1というか全ビットonは何かで見た
- 724 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 22:50:32.94 ID:Qny4UpdU.net]
- windef.hのFALSEが-1とかに変更されたら、既存のソースは崩壊だろうな
- 725 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 23:14:46.53 ID:zaYnGTVS.net]
- !FALSE
- 726 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 23:38:01.28 ID:yW0oU9fF.net]
- typedef unsigned BOOL:1;
ならまだ救いがあった なんでint型にしてんだろうな
- 727 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 00:40:44 ID:wwgXq7Q5.net]
- >>705
それは BitField みたいだけど、構造体メンバ以外で使えるようになったんだっけ?
- 728 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 01:18:20 ID:wwgXq7Q5.net]
- >>703
FALSEは絶対的に0のまま。
- 729 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 01:20:55 ID:wwgXq7Q5.net]
- もしかしたら、Rubyが、0をtrueと解釈してしまうことから変なことを思ってる
人がいるのかもしれないが、C/C++においては、言語仕様的に条件式で偽と 解釈されるのは、古くから、唯一、整数の 0 しかないなかったので、言語仕様が 修正されない限り TRUE が 0 以外の値にマクロ定義されることは絶対に無い。
- 730 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 02:07:59 ID:iFdutQCH.net]
- あれ?
もしかして私・・また同じ日を繰り返してる・・??
- 731 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 02:12:10 ID:lTJc7ZeR.net]
- まだやってんのかお前ら
ゲハ厨みたいなスレだな
- 732 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 02:43:47.12 ID:wwgXq7Q5.net]
- >>708
スマン: 誤:修正されない限り TRUE が 0 以外の値にマクロ定義されることは絶対に無い。 正:修正されない限り FALSE が 0 以外の値にマクロ定義されることは絶対に無い。
- 733 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 02:58:41.73 ID:f/mZFEPY.net]
- >>681
if(b)で十分なのにif(b==true)と書くのはif((a==b)==true)と書くのと同じで冗長なんだよ これがすぐに理解できないなら論理を簡潔にする能力が欠如してるのでプログラミングの才能はないね
- 734 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 03:04:36.42 ID:wwgXq7Q5.net]
- >>712
しかも、b は、少なくとも見かけ上は int 型ではなく、BOOL 型だし。 それに他の言語の場合、if の条件式に入れられるのは唯一 bool 型の 場合があり、一番 if の条件式に入れ易い型。
- 735 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 03:08:16.20 ID:wwgXq7Q5.net]
- >>713
他の言語の場合、例えば x, y が整数型の場合、 x == y とした結果の型が bool 型。 そして、if の条件式に入れられるのは bool 型のみだったりする。 だから、もともと b が bool 型なのに、敢えて b == true と判定して また bool 型に「直して」しまうのはとても奇妙な感じになる。 その文化との兼ね合いから、C/C++ でも、b が BOOL 型の場合は、 if (b) とするのが美しく見える。
- 736 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 03:33:01.69 ID:AiNLffgv.net]
- MISRA-C でも、if( 変数 )で、変数が実質的にブール型の場合は、これでOK
int a = ( 5 < 10 ); printf( "%d", a ); /* 1 */ if( 5 < 10 ) と、if( a ) は同じ意味。 a は、実質的にブール型
- 737 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 06:36:51 ID:DrkniQZr.net]
- bool型が存在しない時代に何故bool型になるのか
|

|