[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 12/22 04:06 / Filesize : 243 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

gotoを恐れず使う兵共がfinallyや多重breakを語るスレ



1 名前:デフォルトの名無しさん [2005/08/11(木) 11:18:15 ]
前スレ pc8.2ch.net/test/read.cgi/tech/1021364372/

2 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 11:29:02 ]
goto 1000

3 名前:デフォルトの名無しさん [2005/08/11(木) 12:32:08 ]
このボタンを押せば強制終了っていう場合は
どうやって実装する?

4 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 12:42:54 ]
一般的には、ボタンが押されたことを通知するメッセージを捕捉して、
トップレベルウィンドウを閉じる処理をするんだろうなぁ。
いずれにしてもメッセージ操作だけだね。

5 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 12:51:53 ]
>>3
外部割り込み

6 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 13:07:40 ]
ボタンの後ろに機械接点があって、押すと接点が解放しPCの電力供給を絶つようにする。

7 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 13:36:10 ]
核ミサイルを発射する処理をすれば

8 名前:マイク ◆yrBrqfF1Ew mailto:sage [2005/08/11(木) 14:38:37 ]
例外的な状況こそ例外

9 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 16:00:29 ]
>>8
トートロジー

10 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 16:01:10 ]
>>1
gotoを恐れずに使いたくないからfinallyや多重breakを使うわけだが。



11 名前:デフォルトの名無しさん [2005/08/11(木) 16:23:09 ]

本格的なプログラムを作成するために存在するC++にはなぜfinallyや多重break,continueがないのですか?

12 名前:マイク ◆yrBrqfF1Ew mailto:sage [2005/08/11(木) 16:36:16 ]
トートロジー?(▽

13 名前:デフォルトの名無しさん [2005/08/11(木) 16:37:29 ]
トポロジーの親戚さ

14 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 17:14:38 ]
>>11
finallyがないのはクラスを作ってデストラクタで何とかしなさいということ。
しかもstd::auto_ptrを始めとして大体は既にそのようなクラスが存在するから自分で作ることは少ない。

//俺が思うにfinallyや多重break, continueがないのは単に思いつかなかっただけではないかという気がする。

15 名前:デフォルトの名無しさん [2005/08/11(木) 19:13:46 ]
初代C++から幾度も仕様拡張・改変が繰り返されているのに?

16 名前:デフォルトの名無しさん [2005/08/11(木) 19:16:08 ]
ところで、finallyって機能の一般的な名称としては何て言うの?
俺の脳内的には「あとしまつ部」なんだけど、これじゃ格好悪いし。

17 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 19:25:31 ]
>>16
ってことは、お主は try とか catch は何て言うのよ
「finally 節」 で良いじゃん

18 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 19:55:49 ]
C++がJavaのfinallyを見て言った
C++「おまえ、それでよくガベージコレクタがあるって言えたな」
Java「みんなCが好きなんだよ」

19 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 20:08:20 ]
??

ああ、メモリ以外は自分で解放する必要があるってことか

20 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 20:41:06 ]
Cが嫌いな奴もいるだろ
女の子とか



21 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 20:44:16 ]
>>20
偏見。私は女だがCが嫌いというわけでもない。

22 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 20:57:05 ]
>>21
お前が本当に女なら、おっぱい晒せ。


23 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 21:03:21 ]
>>21
ずっと前からお前の事好きだった

24 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 23:21:32 ]
実は私、男なの。ゲイなのよ。

25 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 23:22:24 ]
ポーーーーーーーーーーーーゥゥゥゥゥゥッッッ!!!
どーも〜〜〜、ゲイでぇ〜〜〜〜〜す〜〜〜〜

26 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 23:30:58 ]
gotoを恐れず使う兵共はゲイだと

27 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 00:20:34 ]
ニューハーフなら受け止める

28 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 11:54:43 ]
スレが危険な方向に……

29 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 12:30:22 ]
これでまたさらにム板住民→キモイという方程式が確固たるものに…
>>22は氏んでくれ

30 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 23:30:11 ]
次スレ立ってたのか。

>10
然り。



31 名前:デフォルトの名無しさん [2005/08/17(水) 01:41:13 ]
age

32 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 11:41:55 ]
>>3
組み込みの場合のマジレス。

while(1) ;

33 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 00:02:44 ]
Cとかでtry-catchサポートするようになったら
やっぱfinally無しではキツい気がする。

finallyの中身は後片付けでしかないんで
デストラクタに書けばいいだろと言う主張は
なんか面倒くさい気もするけど納得できた。

C++とは無関係にCにも例外処理とfinallyが欲しい。

34 名前:デフォルトの名無しさん [2005/08/18(木) 00:18:21 ]
>>33
try-catchに関しては、普通にC++コンパイラ使えば良いじゃん。


35 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 01:17:31 ]
try-catch
使ったらそれはもうC++だよw

36 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 03:16:49 ]
つ Objective-C (Cocoa)

37 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 09:11:42 ]
>>33
>C++とは無関係にCにも例外処理とfinallyが欲しい。

あるんだけど。

これまた、C++と無関係なCの例外処理だから、catchに困るんだけどね。

38 名前:デフォルトの名無しさん [2005/08/20(土) 12:32:28 ]
              :ill||||||||||l:
             :i|||||||||||||||
           /''';:|||||||||||||||||l:、
          /:i  :||||||貞|||||||i `'! gotoやめれ〜・・  ・
          / :|  :||||||||||||||||||l ノ!
          | ヽ |||||||||||||||||||| :|
          ! !;ヽ:||||||||||||||||||||!; |
      .__|  |/|||||||||||||||||||||; |____
       |  _|  .|/||||||||||||||||||||; |_____  .|
      | |:='ヾ‐イ:||:|l|l|l|l|l|l|ll|||||' |::::::::::::| |
      | |:::::::: | |;:|||||:l|:l|l|l|:l|:||||| イ=::::::| |  ザー ……
      | |:::::::::/ };|||||||||l|:l|l|l|:l|:|||.ノ:=:::::| |
      | |:::=!川!;|||||!l|||l|:l|l||||ー'‐'.;:::::::::::| |
      | |:::::::::!l.|ノ      / ./:::::=:::::::| |
      | |::::::::::::|:::      ノ }::::::::=::::::| |
      |  ̄ ̄~|:::      川リ ̄ ̄ ̄ ̄ |
      | ̄l ̄ ̄|::::      | ~ ̄ ̄ ̄| ̄|
      |_|:.::.:.:.:|:::::      |:.:.:.:.:.::..:.:.:|_|
      .:.:.:.:.:.:.:.:.:|;;;::::      .|.:.:.:.:.:.:.:.:.:..:.:.:.:

39 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 12:52:56 ]
((((;゚д゚))))ヤメマス!

40 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 10:43:27 ]
現代のプログラミング言語で、Fortranのような言語で使用されていたGOTOを
必要としない言語は何でしょうか?




41 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 11:01:17 ]
>>40
「Fortranのような言語で使用されていたGOTO」というと、こんなのか?
ttp://xlsoft.com/jp/products/intel/cvf/docs/vf-html/az/az05_54.htm

42 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 11:13:07 ]
一般的なGOTOですね。
CやC++等ではGOTO使わないと思うのですが、GOTOを必要としない
ための構造というと、どういうものなのでしょうか?

もちろんFORやWHILEループ、SWITCH等はそれだとはおもうのですが。

43 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 14:27:40 ]
>GOTOを必要としないための構造というと、どういうものなのでしょうか?
つ[COME FROM文]

ttp://www.fortran.com/fortran/come_from.html

44 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 14:43:51 ]
>>42
ダイキストラたんに聞いてこい。

45 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 23:26:50 ]
>>40
つ[構造化定理]

46 名前:デフォルトの名無しさん mailto:sage [2005/08/22(月) 13:51:36 ]
>>42
>CやC++等ではGOTO使わないと思うのですが
あなたがどう思うかに関わらず
goto を必要とする人々はいます。
つーか、そういう質問をするスレではありません。

47 名前:デフォルトの名無しさん mailto:sage [2005/08/25(木) 10:04:14 ]
>>42
継続(current-continuation)。
明示的に扱えるのはschemeくらいしか無いが。

48 名前:デフォルトの名無しさん mailto:sage [2005/09/27(火) 12:40:41 ]
スレタイの無理やり加減が結構好きなんだが
さりとてこれといった話題があるでもない。

49 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 18:03:34 ]
現実問題goto使った汚いコードよりgoto使わない汚いコードのほうが100倍多い件

50 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 18:07:55 ]
よくわかんない。
統計とってよ。



51 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:06:54 ]
取ったら取ったでサンプルが偏ってるとか言われそうだな

52 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:19:17 ]
ちゃんと、そう言われないと思うようなデータを取ってこいよ。

53 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:21:13 ]
「汚い」の定義もしないで何を話しているのか・・・

54 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:22:21 ]
お前ら良くこんな底の方にあるスレに気がついたな

55 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:23:37 ]
>>53
定義はいらん。主観だからだ。
ヒューマンインターフェースチックな評価手法が妥当だと思われる。

56 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:25:07 ]
汚ないコードとgotoを使う・使わないが直交しているし、
gotoを使わないコードはgotoを使うコードの100倍どころか
1000倍以上存在しているだろうから、
goto使った汚いコードよりgoto使わない汚いコードのほうがはるかに多いだろう。


57 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:27:22 ]
goto使いたがる人間はコーディングに対して意識の高い人間だからコードはきれい。
ただgotoを排除したがる人間は噂レベルの情報を鵜呑みにする思考停止したコーディングレベルの低い人間だからコードが汚い。

58 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 09:58:24 ]
すでにgotoの存在自体を知らないプログラマが大多数を占めている罠


59 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 10:24:45 ]
よくわかんない。
統計とってよ。

60 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 13:55:43 ]
統計統計と連呼しないで下さい。話を止める効果しかありませんよ。
ご自身の主張をなされば良いでしょう



61 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 16:35:13 ]
「早起きは三文の得」と言われても、統計を要求する人なんだよ、たぶん。

62 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 17:39:59 ]
その三文とは金額のことですか? それとも距離のことですか?
具体的にどんな得があるというのか説明してください。

とか?

63 名前:デフォルトの名無しさん [2006/01/05(木) 19:14:32 ]
>>58
それはないよ
ジャンプも知らない奴はデバッグできない

64 名前:デフォルトの名無しさん [2006/01/05(木) 19:19:09 ]
なぜアセンブリのgotoは許されるのかについて

65 名前:デフォルトの名無しさん [2006/01/05(木) 19:20:29 ]
っていうか、アセンブリでjmpなかったら何もできん・・・w

66 名前:デフォルトの名無しさん mailto:sage [2006/01/05(木) 19:21:45 ]
つかお前らassertスレが大分前に落ちましたよ

67 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 00:09:17 ]
gotoだろうが何だろうが頭ごなしに否定あるいは肯定をするのは自分でモノを考えていない証拠です!><
プログラミングってのがそんな定型的な作業ならわざわざ人間様がやる必要はないはずです!><

68 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 00:20:44 ]
>>67
自分で考えているかどうかっつーより、思考停止しているだけの話だろ。

69 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 00:05:45 ]
「自分で考えていない」と「思考停止している」はどう違うのか

70 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 22:31:06 ]
gotoは使ってより美しくなるのなら使え、そうでないなら使うな、ではないか?





71 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 00:10:04 ]
>>70
同意するけど。
「何が美しいか」は完全に個人的な感覚に属する問題だからw

72 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 02:45:41 ]
gotoにまつわる話だけで一冊の本になりそうなんだが
どこか出してくれないかな。買うぜ。

73 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 21:13:04 ]
>>71
goto排斥原理主義者にとっては「gotoが使われている」=「最悪に醜い」だからなぁw

74 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 14:23:47 ]
knuth先生のコードにもgotoが使われているものがあったぞ。
確かミニマックスαβ探索だったと思う。

knuth先生だって必要最低限のgoto使うことがあるのだから、原理主義はやめるべき。



75 名前:デフォルトの名無しさん [2006/05/03(水) 20:41:23 ]
goto 1

76 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 20:52:18 ]
>>74
ってか、knuth は goto 擁護論者の筆頭だろ。


77 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 21:42:42 ]
高徳納には先生ってつける奴多いけど何で?

78 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 17:16:51 ]
趣味だろ

79 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 22:28:29 ]
先生と 生徒

ハァハァ

80 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 22:53:19 ]
ジジイは趣味じゃないからパス



81 名前:デフォルトの名無しさん [2006/08/08(火) 15:08:54 ]
 if (A) { procX; }
 else if (B) { procY; procX; }
という処理をしたいのですが、procX、procYともに関数にするほどではないけれども、
上の位置にベタで書くにはちょっと無駄なタイプをしている気がするような処理なのです。
そこで
 if (A) goto labelX;
 else if (B) goto labelY;
 else return;
 labelY: procY;
 labelX: procX;
という書き方をしました。procXとprocYの実装を一度しか書かないという縛りで
gotoを使わずに書く書き方があれば教えてくださいm(_ _)m


82 名前:81 mailto:sage [2006/08/08(火) 15:09:56 ]
書き込んで気が付きましたがスレ違いっぽいですね。
すみません。

83 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 15:14:08 ]
if(B) procY;
else if(!A) return;
procX;

普通にこれではマズいのか?

84 名前:81 mailto:sage [2006/08/08(火) 15:57:02 ]
>>83
ぉぅっ。エレガントです…。思いつきませんでした。

実際のコードはAで判定できる箇所が多くかつ判定自体も速いので、
できればAの判定を先に持ってきたいのですが…。
先に書くべきでしたね。

85 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 16:58:17 ]
if(!A) {
 if(B) procY;
 else return;
}
procX;

これで>>81と等価かな。

86 名前:81 mailto:sage [2006/08/08(火) 18:22:30 ]
>>85
できるもんなんですねぇ…。
勉強になりました。ありがとうございました。


87 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 20:00:42 ]
そういう思考ができない人はあまりプログラマに向いて無い希ガス

88 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 20:15:33 ]
>>81
俺ならこうやってネストしちゃうな。
(例として、条件がCまで、処理がprocZまでの三段階に増えたとする)

if(!A) {
 if(!B) {
  if(!C) return;
  procZ;
 }
 procY;
}
procX;

89 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 21:43:38 ]
誰もお前には聞いてないんだよカス

90 名前:デフォルトの名無しさん [2006/08/08(火) 22:43:54 ]
GOTO使う事によってコードが短くなる件



91 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 22:54:29 ]
まあ、goto使うことで
コードが短くも速くもならないなら
使うなとは言えるなw

92 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 23:20:51 ]
    if (flag)
        goto N0021;
    return;

N0021:
    〜

こういうコードならつい最近見た。Fortran から C に単純変換したものらしい。
こういうのがいたるところに orz

93 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 23:37:24 ]
>>92
実行形式から逆コンパイルした結果も
それと同様に goto だらけになったりするんだろうなぁ。

94 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 19:48:06 ]
>>89
では今度からきちんと指名 (無料) するように。

95 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 08:55:10 ]
コンパイル済みの汗ソース見ればくだらない議論と気付くはずw

96 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 20:08:23 ]
ちうか、わざわざ高級言語つって読み書きしやすい制御構文を用意しているのに、
それを破壊するような使い方をするなっていうのがgotoは悪派の主張なわけで、
機械語に落ちれば全部jmpだろってのはあんまり関係ないよな。

まあ、機械語レベルのjmp命令がif等の制御構文と同等のレベルで
読み書きできるような人間にゃgotoだろうがforだろうが関係ないのかもしれんが、
そうじゃない人もいるんでそういう人も思いやってくれよということで。

97 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 07:51:36 ]
1.gotoはどんな事があっても絶対使うな!
2.gotoはなるべく使わない方がいい

初心者に教えるなら1の方が正しいと思う。

98 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 08:24:30 ]
ちなみに俺自身がどの程度使っているか調べてみたら、
92年ごろこんな事やってた。

// ポートからマウス移動量を取得
outp(0x7fdd,0x80);goto L1;
L1: x1 =inp(0x7fd9)&0xf;
outp(0x7fdd,0xa0);goto L2;
L2: x1+=(inp(0x7fd9)&0xf)<<4;
outp(0x7fdd,0xc0);goto L3;
L3: y1 =inp(0x7fd9)&0xf;
outp(0x7fdd,0xe0);goto L4;
L4: y1+=(inp(0x7fd9)&0xf)<<4;
outp(0x7fdd,0);goto L5;
L5: wark =inp(0x7fd9);

pc98のコードだが、今となってはよく分からん。
見ての通り組み込みに近い処理なので、こういうウェイトが
必要な場合もあったんだろうな、たぶん。


99 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 19:48:42 ]
ジャンプ系の命令を挟んで数clockをwaitするってこと…なのか?
要するにnop代わりにgotoを使ったと…結構アレげだな

100 名前:98 mailto:sage [2006/09/28(木) 20:20:07 ]
>ジャンプ系の命令を挟んで数clockをwaitするってこと…なのか?

たぶん、そういう事をやりたかったのだと思う。
gotoはCで書けるけど、nopはasmブロックで書かなくてはならないので
gotoを選択したんじゃないかねー。「念のため」的なコードは書かない
主義なので、このgotoが無ければ動かない機種があったのだとは思う。
14〜15年前の若かりし日のコードなんで詳しい事は思い出せないなw



101 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 23:28:51 ]
>>100
約15年前のキミに言っておきたい。
そのコードにはコメントを入れておけとw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<243KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef