C言語の設計ミスった危険な関数トップ10決めようぜ (215レス)
上下前次1-新
65: 2019/12/15(日)12:32 ID:bDjAMWVj(1/2) AAS
>>64
なぜか自分の前提は
> >>57くらいのループなら
なのにラベルにした途端にループの頭とbreakとループの終わりが一瞥でわからないとかアホすぎ
66: 2019/12/15(日)12:36 ID:5sPbacoo(4/8) AAS
大きければgoto
小さければbreak n
67(1): 2019/12/15(日)12:38 ID:5sPbacoo(5/8) AAS
名前を付ける手間を許容するならgotoという解決法が既にある
68: 2019/12/15(日)13:48 ID:o9m7qUoD(1) AAS
>>60
ネスト変わるような変更あるたびにbreakの引数勝手に書き換えてくれるエディタとかマクロが流行る
69: 2019/12/15(日)16:33 ID:bDjAMWVj(2/2) AAS
>>67
ifとgotoあるからforもwhileもdoも要らんという主張か
本物のプログラマーだなw
70: 2019/12/15(日)16:52 ID:u46gpj2V(1) AAS
歪んだ教育のせいで
gotoに拒絶反応を示す人が多いんだよな
2重ループを抜けるなら素直にgotoを使えって
71: 2019/12/15(日)16:53 ID:pTp+dpJs(1) AAS
アセンブラの
jmp 1f
とかを C でやりたいという話なのか?
やってみりゃいいじゃん。プリプロセッサの出力を処理すればいい。
1 パスで出来ると思うよ。
ひょっとしてもう誰かがやってるかも。
72(1): 2019/12/15(日)18:05 ID:5sPbacoo(6/8) AAS
AA省
73(1): 2019/12/15(日)18:58 ID:5sPbacoo(7/8) AAS
AA省
74: 2019/12/15(日)19:01 ID:5sPbacoo(8/8) AAS
わざわざ言語拡張しなくても
>>57以上の事が実現出来る
75: 2019/12/16(月)09:05 ID:AI1GDY0I(1) AAS
ラベルのスコープを狭くしたいという話のようだから
マクロの中で使ってこそ真価を発揮するんじゃないかな。
フル仕様のパースが必要というわけではなく、かなり手抜きできそうではある。
あれば便利というのは否定しないが、C でそこまで必要かというと…
76: 2019/12/16(月)12:33 ID:0jmxiGrg(1) AAS
{
goto hoge;
hoge:;
}
{
goto hoge;
hoge:;
}
これで二重になってたら困るしある意味なってなくても困るな
77: 2019/12/16(月)13:21 ID:ZZ8St2Js(1/3) AAS
マクロで二重以上のループってのもなかなか考えづらいなあ
一応、ラベル名をパラメータとする手もある
使う側のコストを考えるとgotoの為にパラメータを増やさないよな
gotoを使わない主義者がよくやってるように
余分な変数を使って実装するんだろうね
78: 2019/12/16(月)13:23 ID:ZZ8St2Js(2/3) AAS
アセンブラだとマクロローカルラベルってのがあったりする
ラベルを頻繁に使うので
あと
@@/@b/@fのように、
直近のラベルを指定する仕組みもある
79: 2019/12/16(月)13:28 ID:ZZ8St2Js(3/3) AAS
>>72 >>73 みたいなのって
gotoの使いどころだと思うんだけだ
gotoを使わない人はどう書いてるの?
特に >>57 の答えを聞いてみたい
80: 2019/12/16(月)15:17 ID:arH1mwfY(1/13) AAS
AA省
81: 2019/12/16(月)16:34 ID:/0yHEQmX(1) AAS
outer より後に処理が続く場合は?
82(2): 2019/12/16(月)16:51 ID:arH1mwfY(2/13) AAS
AA省
83: 2019/12/16(月)16:55 ID:arH1mwfY(3/13) AAS
"短い処理"をいちいち関数にしなくて済むから、break 2とかはあってもいいが、
長い処理は関数にしてないとろくにテストできないんだからgotoなんていらない
84: 2019/12/16(月)19:03 ID:4DgO9d+i(1) AAS
じゃあ>>57もいらないね
上下前次1-新書関写板覧索設栞歴
あと 131 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.016s