18/08/11(土)18:35:52 else if... のスレッド詳細
削除依頼やバグ報告は メールフォーム にお願いします。個人情報、名誉毀損、侵害等については積極的に削除しますので、 メールフォーム より該当URLをご連絡いただけると助かります。
画像ファイル名:1533980152027.jpg 18/08/11(土)18:35:52 No.525235283
else if って途中で抜けられないの
1 18/08/11(土)18:36:42 No.525235441
go to使えばすぐやぞ
2 18/08/11(土)18:39:09 No.525235922
elseifを途中で抜けるような処理を作らなきゃいいんじゃないかな
3 18/08/11(土)18:40:28 No.525236187
whileで囲んでbreakするのは
4 18/08/11(土)18:41:21 No.525236339
処理100もあるswich文もなんかおかしいんじゃないかな…
5 18/08/11(土)18:41:56 No.525236465
最近はたいていコンパイラがよろしくやってくれるからスレ画のような判定回数がどうのという心配はいらない
6 18/08/11(土)18:42:26 No.525236577
まあ物の例えだから 2分岐する処理を100回ループする場合でも似たようなことが言えるし
7 18/08/11(土)18:44:23 No.525236939
>最近はたいていコンパイラがよろしくやってくれるからスレ画のような判定回数がどうのという心配はいらない 昔やってた小細工が今じゃ逆効果な場合もあって参るね
8 18/08/11(土)18:45:05 No.525237072
静的な処理はコンパイラさんがうまくやってくれそうだけど分岐系はまだ気をつけたほうがいいんじゃない?
9 18/08/11(土)18:45:45 No.525237190
swichが使えない場合もあるからなぁ
10 18/08/11(土)18:47:04 No.525237439
swichでもelseifでもいいけどよぉ サイクロマティック複雑度は10以下にしろよな
11 18/08/11(土)18:47:18 No.525237485
caseに使えるのがconstだけって知らなかったよ
12 18/08/11(土)18:48:36 No.525237771
else if elif elsif 統一しろ馬鹿
13 18/08/11(土)18:49:53 No.525238074
elseifの場合3くらいに目当ての処理があっても 残り100まで評価されちゃうの?
14 18/08/11(土)18:51:52 No.525238499
>swichが使えない場合もあるからなぁ 判定対象の「XX区分」がString型なのいいよね… C#とか今のjavaでは改善されててありがたい…
15 18/08/11(土)18:54:41 No.525239040
>elseifの場合3くらいに目当ての処理があっても >残り100まで評価されちゃうの? 3で判定終了
16 18/08/11(土)18:56:07 No.525239320
switchはときどきしか使わないから一度ググるマン
17 18/08/11(土)18:59:10 No.525239960
caseやswitchが値だけで式を評価できない処理系ってマジなんでそんな設計思想になってるんだろう ifなら最適化の都合でって言い分もわかるが選択肢が複数ある時点で大抵の計算機はそれ以上最適化のしようがないだろうに
18 18/08/11(土)18:59:28 No.525240025
スイッチ文も順次評価だったと思うんだけど 最近のコンパイラだとバイナリサーチとかしてくれるの?
19 18/08/11(土)19:00:41 No.525240287
>caseやswitchが値だけで式を評価できない処理系ってマジなんでそんな設計思想になってるんだろう >ifなら最適化の都合でって言い分もわかるが選択肢が複数ある時点で大抵の計算機はそれ以上最適化のしようがないだろうに 定数を判定するのと変数を判定するのじゃ処理が違うんじゃない?
20 18/08/11(土)19:01:42 No.525240546
条件式にプロパティ使えや!
21 18/08/11(土)19:02:26 No.525240730
switchはコンパイル時に定数値をキーにしたジャンプ先テーブルみたいなの作るからじゃない?
22 18/08/11(土)19:03:20 No.525240930
使う側としては式評価できるとグッと使い勝手良くなるが言語設計者はイライラするはずだ
23 18/08/11(土)19:08:15 No.525242235
だいたい全部パフォーマンスとのバーターだぞ
24 18/08/11(土)19:15:57 No.525244148
判定することには変わりないからswichもifも処理的に変わらないんじゃないの…?
25 18/08/11(土)19:18:26 No.525244712
break入れなきゃ次の条件に突入できるのは裏技として使えるけどなんでそんな風にしたのswitchってなる 案の定c++以降は破棄されてるし
26 18/08/11(土)19:18:56 No.525244808
俺はcaseと条件値と:の並びを毎回忘れてググるマン!
27 18/08/11(土)19:20:32 No.525245182
>判定することには変わりないからswichもifも処理的に変わらないんじゃないの…? テレビのチャンネルのボタンとダイヤル式の違いみたいなもん
28 18/08/11(土)19:23:14 No.525245742
>テレビのチャンネルのボタンとダイヤル式の違いみたいなもん 人間だと次に押すボタンが3って決めてかかるから数えあげることなく3チャンネルに移動できるけど xと条件式を比較するためにはそれなりの工数がかかりそうで結局総当りになりそうな気がしてならなくて その辺はコンパイルでうまくやってるってことなのかしら
29 18/08/11(土)19:26:37 No.525246442
上でも書かれているけどテーブルジャンプがcase文だと使われる場合がある
30 18/08/11(土)19:30:55 No.525247396
テーブルジャンプはアセンブラを使ったことないと分かり難かったりするのかな
31 18/08/11(土)19:31:01 No.525247421
>break入れなきゃ次の条件に突入できるのは裏技として使えるけどなんでそんな風にしたのswitchってなる 上で言ってるようにコンパイル時にテーブルみたいなの作るんで breakしなければそのまま流れていくのは自然