C言語の設計ミスった危険な関数トップ10決めようぜ (215レス)
C言語の設計ミスった危険な関数トップ10決めようぜ http://mevius.5ch.net/test/read.cgi/tech/1574306624/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
57: デフォルトの名無しさん [] 2019/12/14(土) 22:43:29.04 ID:8CJijD11 gotoはラベルのスコープが広いから使いにくい。ループごとに別のラベル名を 付けないといけないし、ラベル名を別のループ用のものと書き間違えると 意図しない所へ飛んで行ってしまう。スパゲッティでバグの元。 ループにラベルを付ければ、スコープがそのループ内に限定され、そのループの 外にある別のループに同じラベル名を付けることができるから、書きやすく 読みやすい。例えば、こんな感じ。 for @outer (i = 1; i <= 3; i++) { for (j = 1; j <= 3; j++) { printf("%d, %d\n", i, j); if (i * j > 3) break @outer; } } for @outer (i = 1; i <= 5; i++) { for (j = 1; j <= 5; j++) { printf("%d, %d\n", i, j); if (i * j > 5) break @outer; } } http://mevius.5ch.net/test/read.cgi/tech/1574306624/57
61: デフォルトの名無しさん [sage] 2019/12/15(日) 09:51:38.77 ID:5sPbacoo ネストの数がわからないような巨大な構造は それだけで最低だ そんなんだと名前付きループにした所で @outerなんて名前が使い回されて 同じ名前のループがネストされて それこそ難読コードになる それならユニークなラベルによるgotoの方が良い >>57くらいのループなら break 2; は名前を考える手間が無くて楽だし 見にくくもない http://mevius.5ch.net/test/read.cgi/tech/1574306624/61
65: デフォルトの名無しさん [sage] 2019/12/15(日) 12:32:17.60 ID:bDjAMWVj >>64 なぜか自分の前提は > >>57くらいのループなら なのにラベルにした途端にループの頭とbreakとループの終わりが一瞥でわからないとかアホすぎ http://mevius.5ch.net/test/read.cgi/tech/1574306624/65
74: デフォルトの名無しさん [sage] 2019/12/15(日) 19:01:19.97 ID:5sPbacoo わざわざ言語拡張しなくても >>57以上の事が実現出来る http://mevius.5ch.net/test/read.cgi/tech/1574306624/74
79: デフォルトの名無しさん [sage] 2019/12/16(月) 13:28:49.41 ID:ZZ8St2Js >>72 >>73 みたいなのって gotoの使いどころだと思うんだけだ gotoを使わない人はどう書いてるの? 特に >>57 の答えを聞いてみたい http://mevius.5ch.net/test/read.cgi/tech/1574306624/79
84: デフォルトの名無しさん [sage] 2019/12/16(月) 19:03:13.17 ID:4DgO9d+i じゃあ>>57もいらないね http://mevius.5ch.net/test/read.cgi/tech/1574306624/84
95: デフォルトの名無しさん [sage] 2019/12/16(月) 22:22:18.57 ID:xr9KOlE0 で>>82みたいな意味不明な関数の分け方をすると >>57は、より複雑な記述をしたいっていう主張だし gotoに親を殺された人の言うことは支離滅裂 理由が後付けだからそうなる http://mevius.5ch.net/test/read.cgi/tech/1574306624/95
98: デフォルトの名無しさん [sage] 2019/12/16(月) 22:37:09.13 ID:xr9KOlE0 じゃ>>57も当然不要ですね http://mevius.5ch.net/test/read.cgi/tech/1574306624/98
100: デフォルトの名無しさん [sage] 2019/12/16(月) 22:39:57.37 ID:xr9KOlE0 じゃあ>>57はどういうつもりで書いたんでしょうかね? http://mevius.5ch.net/test/read.cgi/tech/1574306624/100
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s