[過去ログ] C++相談室 part164 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
963(1): (ワッチョイ 13ad-c8RC) 2023/10/30(月)15:01 ID:bW5EQkS/0(2/3) AAS
まあ問題あるならそもそも導入されるはずがないわけで問題ないのは分かるんだけど
「可能な限り〜お勧めします。」と言うように使用を推奨しない理由は何なのかなと
例えば特定の処理が飛ばされて動作しなくなる場合があるとかなんかな?と
964: (ワッチョイ 9b91-lnbO) 2023/10/30(月)15:54 ID:A0jdf3Dt0(1/6) AAS
それはrustのラベルbreakのような
安全なループの抜け方しか考えてないから安全で当たり前
c/c++のgotoはもっと凶悪なことができる
965: (ワッチョイ 297c-tLJy) 2023/10/30(月)16:23 ID:eEth4IuV0(2/4) AAS
C++のgotoはちゃんとデストラクタを呼んでくれるから、意外とそんなに破滅的なことにはならんのだよね
だからって多重ループ脱出以外で使おうとは思わんけど
966(1): (ワッチョイ 8101-VINR) 2023/10/30(月)16:30 ID:hnsSyQft0(1/11) AAS
俺は例外投げて脱出する
967(1): (ワッチョイ 9b91-lnbO) 2023/10/30(月)16:35 ID:A0jdf3Dt0(2/6) AAS
>>966
気軽に例外投げるとデバッガが使いづらくなるからやめときな
少なくとも仕事では
968(1): (ワッチョイ 13ad-c8RC) 2023/10/30(月)16:40 ID:bW5EQkS/0(3/3) AAS
多重ループ脱出で使っている人って多いんかな?
他にこういう使い方しているとかってない?
969: はちみつ餃子◆8X2XSCHEME (ワッチョイ 9b3e-g5YV) 2023/10/30(月)16:45 ID:I7fISnX+0(1) AAS
>>963
一般論としてはそのほうが分かりやすくなるからというだけのことだと思うよ。
ただ、それで分かりやすくならないとき、
チマチマした条件チェックであっちこっち行くよりは
流れをぶった切って goto したほうがいっそわかりやすいこともあるってのが
goto が必要な場面ってことなんだわ。
970(1): (ワッチョイ 8101-VINR) 2023/10/30(月)17:14 ID:hnsSyQft0(2/11) AAS
>>967
と言いますと?
971: (ワッチョイ d9ab-txvC) 2023/10/30(月)17:24 ID:9eqG7NVC0(1) AAS
ラムダ式にする
972: (ワッチョイ 297c-tLJy) 2023/10/30(月)17:57 ID:eEth4IuV0(3/4) AAS
>>968
自分としては多重ループ脱出がC++でのgotoの唯一の実用的な用途だと思ってる(とはいえめったに使わない)
Cなら疑似finally的な後処理に使うこともあるけど、それはC++ならRAIIにすべきだしな
それ以外の戻ったり余所のスコープに侵入したりはもちろんCでもC++でも論外
973: (ワッチョイ 8114-Qq8E) 2023/10/30(月)18:39 ID:VfsLhOLn0(1) AAS
何度も繰り返すgotoの話になると人が湧くな
974(1): (ワッチョイ 9b91-lnbO) 2023/10/30(月)18:54 ID:A0jdf3Dt0(3/6) AAS
>>970
VSのデバッガは例外投げられるとメッセージでる(設定変えればオフにはできる)
また設定によってはブレイクする
正常処理のくせに頻繁に例外投げられると非常にうざいし、本当の異常を見過ごす
975: (ワッチョイ 5101-CP9B) 2023/10/30(月)19:04 ID:qWSrxYwr0(1) AAS
switchとgoto組み合わせて状態機械作ってる
976: (ワッチョイ 9b91-lnbO) 2023/10/30(月)19:54 ID:A0jdf3Dt0(4/6) AAS
gcc拡張のlabelのアドレスとれるやつとかな
昔はイキって使ってたわ
977(1): (ワッチョイ 8101-jlrJ) 2023/10/30(月)20:16 ID:hnsSyQft0(3/11) AAS
>>974
そりゃうざいデフォルト設定だな
ループの脱出に限らず例外くらい普通に使うやろ?
ちゃんと切っとけ
978(1): (ワッチョイ 9b91-lnbO) 2023/10/30(月)20:43 ID:A0jdf3Dt0(5/6) AAS
>>977
例外が起こったときは何かおかしいことが起こっている予兆と考える防御的なVSをおれは支持する
だいたい例外安全って何それ?ってレベルのやつも多いだろ
例外で遊ぶのは趣味のときだけにしとけ
979(1): (オイコラミネオ MM6d-H9h+) 2023/10/30(月)20:48 ID:JbGfWzUOM(1/9) AAS
ループ脱出レベルで例外を使うのは変だと感じる
関数抜けないのに例外なんて…
980(1): (オイコラミネオ MM6d-H9h+) 2023/10/30(月)20:54 ID:JbGfWzUOM(2/9) AAS
んで大昔に例外に似た機能のFound文Match文とか妄想してたんだな
実質タダのgoto文
981(1): (ワッチョイ 8101-jlrJ) 2023/10/30(月)20:54 ID:hnsSyQft0(4/11) AAS
>>978
ループに限らず孫関数ひ孫関数からエラーで脱出するときどうしてんの?
例外使わんか?
982(2): (オイコラミネオ MM6d-H9h+) 2023/10/30(月)20:57 ID:JbGfWzUOM(3/9) AAS
例外は通常動作として起こらないような動作で起こすもので
何か探すループなんかで実際に対象が見つかったとしてそれは「例外」なのか?
ちがうだろー
上下前次1-新書関写板覧索設栞歴
あと 20 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.016s