C言語の設計ミスった危険な関数トップ10決めようぜ (215レス)
1-

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もいらないね
85: 2019/12/16(月)19:09 ID:lsrBHsJG(1) AAS
gotoの基本的な使い方くらい知っておいた方が良いかと
ループを抜ける為だけに関数を分けないといけなくなるし
挙げ句の果てに言語の欠陥とか言い出す
86: 2019/12/16(月)20:06 ID:3ha1TSe5(1) AAS
今のC言語ではネストしたループから抜けるのはフラグを使うかgotoしかないからたいていgoto使ってるけどgotoなんて野蛮なものはできたら使いたくないから他の言語で実装されてるラベル付きbreakなりレベル付きbreakが欲しいって話だろ
今更gotoの基本的な使い方ガーとか言ってる奴はどんだけ低レベルなんだよw
87
(1): 2019/12/16(月)20:09 ID:xr9KOlE0(1/17) AAS
あれ?
returnで抜ける為に関数に分けるんじゃなかったの?
88: 2019/12/16(月)20:21 ID:xr9KOlE0(2/17) AAS
gotoは野蛮とかいう歪んだ教育のせいで
わざわざ変数を定義したりわざわざ関数を分けたりして
わざわざ見にくいコードにしちゃう

生でポインタを扱う野蛮なC言語なんか使わないで
上品な言語を使った方が良いよ
89: 2019/12/16(月)20:28 ID:jL52ryYk(1/2) AAS
gotoじゃなくてgodowntoなら誰も文句言わなかった
90: 2019/12/16(月)20:47 ID:LjjtFzBx(1/4) AAS
自分は小規模な字句解析みたいなのでもgoto使うことがある。
ラベルで状態を表してgotoで遷移する。
goto使わなかったら状態を変数に入れて、
ループの中でswitchで場合分けするようなコードになって辛い。
91: 2019/12/16(月)20:52 ID:DbnQVwfE(1) AAS
ループの中のswitchでループを抜けるのに
gotoを使うんじゃ?
92: 2019/12/16(月)21:41 ID:wRV+mRkt(1) AAS
次の状態を返す関数ポインタでループすればいんじゃないの?
1-
あと 123 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s