虹裏img歴史資料館

ここでは虹裏imgのかなり古い過去ログを閲覧することができます。新しいログはこちらにあります

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しなければそのまま流れていくのは自然

↑Top