[表示 : 全て 最新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/

752 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 07:37:26 ]
このパターンは条件がどんどん後付けされるのでは?
過去何度かあったろ。いいかげん気付け。

753 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 07:41:45 ]
今度のパターンは条件を後付けする必要ありません。
次から次へのgrep gotoした結果がタレ流されるパターンです。
1つの例にレスがついたらその議論を先にするのが礼儀というものだが
このスレのgoto厨は無視してひたすらgrepを続けます。
それがgotoクオリティ。

754 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 07:41:58 ]
>>750
>そもそも「処理」ってくくれるぐらいまとまってるんだろ?

いや。got_listenerの後の処理は長い。
do whileで条件を満たせなかった場合はcontinueするという意図のコード。

>>751
そうか。

>>752
ならばコードを読め。>>741参照。

755 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 07:49:46 ]
>>748
マクロは意図するところが十分に明確で、かつ処理が短い場合は良いアイデア。
今回の実際のコードではreturnを入れて3文なので悪くはないかも。
(r->statusに代入、ログ吐き、return)

ただしマクロの濫用もコードの可読性を落とすので避けるべき。
vhost.cはマクロについては単純なものしか使っていないので、ポリシーの違いだろうね。

756 名前:デフォルトの名無しさん [2008/02/17(日) 07:52:51 ]
正解は753でしたw

757 名前:デフォルトの名無しさん [2008/02/17(日) 07:54:54 ]
バカが浮き彫り

758 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 07:55:28 ]
>>754
いや、俺が言ってる「まとまってる」のは長さじゃなくて、
使う変数の依存関係が閉じた傾向にあるという意味。


759 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 07:58:17 ]
goto肯定派は実用的なコードから
「ここはこうgotoを使えばもっと綺麗になるのに」
という例を出すつもりはないのかね。

いつでもgoto慎重派にコードを書かせるのは
フェアじゃないと思うのだが?

760 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 08:04:27 ]
今、>>759 が良い事を言った!
さあ「gotoを恐れずに使う兵共」の腕の見せ所だ!



761 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 08:23:27 ]
>>758
そうか。閉じた傾向とか何ともいえないのでソースを読んで。

>>759
それこそ全然フェアじゃない。
・「Cで書かれた実用的なプログラムでgotoを一切使っていないもの」が一つも出されていない。
・「ここはこう」の「ここ」を見つけるために、相手にそのプログラム全体を全て読めと?

相手にコードを書かせようと思うなら、題材くらい自分で出せ。


762 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 08:26:54 ]
ていうか、プログラマとして非常にガッカリなのは、

情報として>>741が出されて、それを題材にしているにも関わらず、
実際にhttpdのソースをダウンロードして自分でソースを追ってみた人が、
ここで議論している人の中に誰もいなそうってところだな。

コードリーディングしない人には、コードを語る資格も能力もないよ。

763 名前:デフォルトの名無しさん [2008/02/17(日) 08:40:57 ]
具体論になると机上の空論と違って盛り上がらないねえ

764 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 08:43:08 ]
>>762>>748>>750は無視ということか。

grep するだけなら楽でいいもんな。プ

765 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 08:46:32 ]
>>764
750は明らかに749しか読んでいないと思われ。

実際のコードに当たったらこんな発言が疑問形で出るわけがない。

>そもそも「処理」ってくくれるぐらいまとまってるんだろ?

そこに気付かない>>764自身も、他人を煽るだけで自分はコードを読んでいない。


766 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 08:47:34 ]
強調するが、ここが重要ね。

  そこに気付かない>>764自身も、他人を煽るだけで自分はコードを読んでいない。


767 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 08:48:47 ]
そういう>>765は手あたり次第grepしただけ。
そうじゃないと言うのなら、
「ここはこうgotoを使えばもっと綺麗になるのに」
という例があるはずだから、それを提示しろ。

できないなら、コード読まない厨認定な。

768 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 08:49:28 ]
煽ったり議論したりする暇はあるんだから、ついでにちょっとコードも読めばいいのにね。

と思うよ俺は。


769 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 08:50:04 ]
>>763
一方的に「コード読め」「改善策を出せ」と言うばかりの香具師がいるからな

770 名前:デフォルトの名無しさん [2008/02/17(日) 08:50:15 ]
悪魔の証明を知らない人w



771 名前:デフォルトの名無しさん [2008/02/17(日) 08:50:37 ]
>>768 オマエガナー wwwwwwwwwwwwwwwwwwwwwwwwww

772 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 08:52:10 ]
>>770
そうそう。grep厨はコードの断片を見せるだけで
議論は永遠に続くことになるんだよな。アフォらし。

773 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:02:40 ]
強調するが、ここが重要ね。

  そこに気付かない>>766自身も、他人を煽るだけで自分はコードを読んでいない。



774 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:08:42 ]
こういうスレを読んでいると感じるけど
2chって「馬鹿しか得るものがない」場所だよね。

何の知識もない教えて君が相手を煽りながらタダで一方的に情報を得る。
教える側は何故か相手に罵倒されながら一方的に情報を提供して自分は何一つ得るものがない。

なので普通の人は嫌になってすぐに去り
2chに残るのは自己犠牲精神に満ち溢れた聖人と馬鹿だけ。

775 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:24:50 ]
>>774
> 何の知識もない教えて君が相手を煽りながらタダで一方的に情報を得る。

goto厨のことだね。
goto慎重派はちゃんと改善例を提示しているのに
goto厨は文句を言うばかりで何の改善例も提示しない。

776 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:33:40 ]
>>774
たかがgrepしただけでそこまで上から目線で言える根性が気に入った。

>>775
goto肯定派もコード出してるよ。>>469とか。目が腐りそうな糞コードだけど。
ちなみに>>469>>485という形でgotoを使わずに可読性が上がったね。

777 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:35:56 ]
485=774=grepした人=744以降でコード断片を出した人=普通の人なので去ります

778 名前:デフォルトの名無しさん [2008/02/17(日) 09:38:20 ]
と言いつつキリ番ゲットした>>777、オメ。

779 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:56:30 ]
777が去った今このスレの運命は776の手腕にかかっている

780 名前:653 mailto:sage [2008/02/17(日) 10:11:45 ]
6.8
自動記憶域期間をもつオブジェクトの初期化子、(略)は、
文の場合と同じく実行中に宣言に到達するたびにこれを評価し、
値をそのオブジェクトに格納する。

とあるので、gotoで宣言(と初期化)をまたぎこしていると、
初期化はされないとすべきのようです。

また、C99では「可変修飾型をもつオブジェクトの宣言を飛び越しては
ならない」という制限が加わってますね。なるほど。



781 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 10:37:43 ]
>>776
goto否定派もコード出してるよ。>>267とか。目が腐りそうな糞コードだけど。
ちなみに>>267>>263という形でgotoを使って可読性が上がったね。


782 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:07:56 ]
一人で頑張ってる嫌goto厨。
後輩に得意になって言っちゃったの?
gotoは使うなって。

783 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:12:38 ]
異議あり!代案なーし!
異議あり!代案なーし!
異議あり!代案なーし!


784 名前:デフォルトの名無しさん [2008/02/17(日) 11:16:33 ]
>>263>>379で否定されたがね。

  if (A_init() != 0) goto FAILED;
  if (B_init() != 0) 80+0; FAILED:
  if (C_init() != 0) goto FAILED;
  if (D_init() != 0) goto FAlLED;

FAlLED:

しかしまいったね。
・・


785 名前:デフォルトの名無しさん [2008/02/17(日) 11:17:33 ]
アホなレス乞食ががんばっていますね

786 名前:デフォルトの名無しさん [2008/02/17(日) 11:18:12 ]
>>783
代案?
すべての法律がダメだけどそれを国会議員200人ぽっちで作れるわけないだろ。
社会保険庁ですら数万人いるのに。


787 名前:735 mailto:sage [2008/02/17(日) 11:18:51 ]
>>735-736はバグってた。
CATCH節の中でthrow_exceptionするとFINALLYが走らない。
こりゃ結構恥ずかしい。インデントも崩れてるし。

788 名前:デフォルトの名無しさん [2008/02/17(日) 11:19:23 ]
ほお。

あなたに悪意を持つプログラマが goto を 80+0 と書いて
嫌がらせをするかもしれないから goto を使うべきではない

と。

ヴァァァァァァァァァァァ
ァァァァァァァァァァァ
ァァァァァァァァァァァァァァァァァァァァァァ
ァァァァァァァァァァァカ
じゃねーの?wwwwwwwwwwwwwwwwwwwww

789 名前:デフォルトの名無しさん [2008/02/17(日) 11:20:41 ]
どうでもいいけどダイクストラが言ってから今年で40周年か

見事な釣り師だな

790 名前:デフォルトの名無しさん [2008/02/17(日) 11:23:18 ]
>>788
森田さんこんなところにいたんですか。

ちなみに80+0と書き換えた森田さんは日常的に2ch語を上司に向かって話す極めつけの2chネラで、
バカジャネーノってAA使いまくりな人。

生まれは九州は福岡のとある会社の社長の息子。




791 名前:デフォルトの名無しさん [2008/02/17(日) 11:23:28 ]
「gotoを使うな」の釣り糸一本で
40年間、たぶん何百万人という単位のプログラマを釣りあげてる
恐るべしダイクストラ


792 名前:デフォルトの名無しさん [2008/02/17(日) 11:25:34 ]
>>791
大工さんはWhileをgotoで書くなと言っただけじゃね?

goto使いだってwhile使えるところでgotoとか使わないだろ。


793 名前:デフォルトの名無しさん [2008/02/17(日) 11:28:53 ]
sage不可能な良スレ

794 名前:デフォルトの名無しさん [2008/02/17(日) 11:30:33 ]
>>790
『福岡人はgoto禁止』でいいんじゃね?

795 名前:デフォルトの名無しさん [2008/02/17(日) 11:31:49 ]
違うか。森田さんは80+0って書いただけでgotoは書いてないもんな。
『福岡人と仕事するときはgoto禁止』?
いや『福岡人は面接で落とせ』?

796 名前:デフォルトの名無しさん [2008/02/17(日) 11:32:40 ]
福岡禁止

797 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:05:02 ]
80+0なんてキーワードハイライトがあれば容易に見抜けないか?
あと、0に斜線が入ったフォント使うとか(0とoのような個別の事例にしか使えないけど)。

798 名前:デフォルトの名無しさん [2008/02/17(日) 13:26:42 ]
>>797
いやそれがね、うちの会社、ウィルスバスターが更新しないように、インストーラーに手を加えた上でウィルス感染させやがるんですよ。
イントラネット管理者の統括してる本人がやるから信用しちゃうでしょ。
福岡に本社のある東京一部上場企業なんだけど。

だからエディタにキーワード追加くらい簡単にやってのけるよ。


799 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:39:04 ]
もはや798が質の悪い吊りだと見抜く方が容易

800 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:41:59 ]
>>797
つうか字形が違いすぎてしばらく話の流れが全く理解できなかったよ



801 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:10:20 ]
じゃあ次、コンパイラで使われていないラベルに対して警告を出すようにする。

802 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:58:28 ]
>>798
電子計算機損壊等業務妨害 で告訴しろ。
(告訴状作って会社の法務部に送りつけるだけでも効果あるぞ)

803 名前:デフォルトの名無しさん [2008/02/17(日) 15:07:57 ]
>>802
人事部に電話したら、「会社の方針でお前を監視してるんだから逆らうな」って言われたから。
人事部長と直接話したいって言ったけど無視された。
会社クビにされるときに人事部長を名乗る人が来たけど、なんと創価学会の池田先生に瓜二つ。

804 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:16:56 ]
>>803
こちらへどうぞ
ttp://pc11.2ch.net/test/read.cgi/prog/1197192900/

805 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:26:19 ]
>>803
「他人にいたずらされている」という妄想を抱いて、「なら反撃で、いたずら
し返さなければ」とイタズラして、会社側から疑いをかけられて監視されて、
あげくのはてにイタズラしていたことがバレてクビになった。

としか、文章からは読み取れない。

806 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:58:23 ]
むしろメンヘル逝きをお勧めしたい。

807 名前:デフォルトの名無しさん [2008/02/17(日) 16:30:11 ]
結局大工は釣りだとかいう観念論しかできないんだねw

808 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:20:45 ]
いくら上げても技術要素0%のレスで火は起こせないか

809 名前:645 mailto:sage [2008/02/17(日) 20:42:55 ]
気になったので、gccでやってみた

void bar(int);
int func(int arg)
{
if(arg == 0)
goto foo;

{
int i;
i = arg*2;
foo:
bar(i);
}

}


810 名前:645 mailto:sage [2008/02/17(日) 20:43:39 ]
.file "gototest.cpp"
.text
.align 2
.globl __Z4funci
.def __Z4funci; .scl 2; .type 32; .endef
__Z4funci:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
cmpl $0, 8(%ebp)
jne L2
jmp L3
L2:
movl 8(%ebp), %eax
addl %eax, %eax
movl %eax, -4(%ebp)
L3:
movl -4(%ebp), %eax
movl %eax, (%esp)
call __Z3bari
leave
ret
.def __Z3bari; .scl 2; .type 32; .endef

こうなる。
やはりiは確保されません。



811 名前:デフォルトの名無しさん [2008/02/17(日) 20:48:02 ]
>>810
goto使うなっての以上に、ブロックで変数定義するなってのもある。


しかし、オブジェクトはその場所で作るしかないんだな。


812 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:33:13 ]
だからレジスタに割り当てられてるんじゃないの?

813 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:44:22 ]
>>812
たった4つの32ビットレジスタで計算しないといけないのにそんな無駄なことできないでしょ。
少なくとも何かをするとしたらレジスタを使う。
やるとしても小さいループのループカウンタくらいか。


814 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:47:27 ]
goto fooすりゃi=arg*2が実行されないのは当然ダロ
何を期待してんのかわからn

815 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:58:11 ]
>>813
内側のブロックで宣言できないとしたら、
外側のブロックで宣言するだけ。
実態としては何も変わらない。

816 名前:645 mailto:sage [2008/02/17(日) 22:02:54 ]
>>814
ああ、テキトーに作った例だから、実際の動作は気にしないでくれ。
問題は、ブロックの中で定義した変数の領域が確保されていないのに、関数呼び出しに使われてしまうという事実ね。
多分、foo: の後にi = i+argなんてやってもダメだと思う。

817 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:03:51 ]
>>816
ヒント: jne L2 が実行された場合は L2 のどこで「領域が確保」されていますか?


818 名前:645 mailto:sage [2008/02/17(日) 22:04:03 ]
809のiの定義の後でiに代入してるのはコンパイラにiの定義をスルーさせないように、それらしい仕事をさせたかったから。

819 名前:645 mailto:sage [2008/02/17(日) 22:04:41 ]
>>817
ああ、別にされてないね。


820 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:26:56 ]
データフロー解析ぐらいは最近のコンパイラなら当たり前だよ?
ガチガチにソースコードに対応するようなコードを吐いて欲しいなら
-O0 を付けるとか...してもそこまでガチガチなコードが出るかどうか。



821 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:28:40 ]
>>820
そういう問題じゃない。出ているコードは綺麗にソースに対応している

822 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:46:57 ]
スタックフレームが
>subl $8, %esp
で8バイト確保されていて
iが
>-4(%ebp)
なら、関数の先頭で「確保」されてるんじゃね?

823 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:48:59 ]
>>822
正解

824 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 02:57:19 ]
>>811
>goto使うなっての以上に、ブロックで変数定義するなってのもある。

いやこれはするだろ。
あれ、みんなしない派?

825 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 03:21:11 ]
俺は、近くで定義したい派。
ブロック内で変数定義することはある。
ただ、外の変数と名前がかぶらないほうがいいかなぁ〜、くらいは気を使う。

826 名前:デフォルトの名無しさん [2008/02/18(月) 08:18:56 ]
普通は最小スコープ(内側のスコープ)で定義するのが常識

827 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:06:07 ]
それ厳密に適用するととんでもないことに

828 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:25:19 ]
手続き的にやろうとするから、変数を外のスコープにひっぱり出すとかが
必要になる。関数的に、なんでも再帰あちこちでreturnな書き方をすれば
それでうまくいく。

829 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:26:48 ]
>なんでも再帰あちこちでreturn
吊り?

830 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:00:57 ]
>>813
そんな特定のアーキテクチャに依存した話を突然持ち出されてもねえ、、、



831 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:07:36 ]
>>829
> >なんでも再帰あちこちでreturn
> 吊り?

釣りでもなんでもない。ifやswitchが文でなく式なら、

return if (hoge) true else false;

みたいに書けるのに(3項演算子は可読性が低いから却下)、
そうでないから、

if (hoge) return true; else return false;

というように書かざるをえない、ってだけ。

832 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 17:15:50 ]
3項演算子に対する嫌悪感って goto のそれに似たものがあるな

833 名前:デフォルトの名無しさん mailto:晒すとするか [2008/02/20(水) 17:18:18 ]
3項演算子とgotoじゃ全然違うだろ・・・これだからgoto厨は・・・

834 名前:デフォルトの名無しさん [2008/02/20(水) 18:46:16 ]
3項演算子はネストしない限りif文よりも可読性高い場合もあるだろ
特に>>831のような単純な分岐の場合は。どうせ見た目で毛嫌いして
るだけだろうけど。

835 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 18:48:46 ]
>>834
ネストしたって適切なカッコさえつければ問題ないだろ。
特に>>831の場合には積極的に3項演算子を使うべき箇所と思われ。

836 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 18:56:34 ]
それは再帰とは呼ばない。
ということだけは覚えてほしい

837 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 18:59:35 ]
if 文のみで書こうとすると異常にネスティングが増えるケースについて
3項演算子をif文とともに使って、ネスティングを削減すると、コードがすっきりするので好きだ。

838 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 19:16:21 ]
例えばループで書くと

foo() {
 cond = true
 while (cond) {
  ・・・
   ・・・
    if (...) {
     cond = false
    }
   ・・・
  ・・・
 }
}

みたいな構造で、condのようなスコープの広い変数が
必要になるのが、再帰で処理するように書き直せば、

foo() {
 ・・・
  ・・・
   if (!...) {
    foo()
   }
  ・・・
 ・・・
}

で済む、かもしれない、ってこと。

839 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 19:19:27 ]
>>836
再帰かどうかが、returnがif文の中か3項演算子の外かで左右されるとでも?

840 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 19:33:38 ]
>>838
でっていう



841 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 19:48:45 ]
>>838
いや、皆が問題にしてるのはそういうことではなく
while (cond) {
  int i;
  ....
}
みたいなスタック操作の無駄のことと思われ。

842 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 21:19:37 ]
末尾再帰でもないのに、それは・・・

843 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:22:30 ]
>>838
foo() {
 cond = true;
 while (cond) {
  s1;s2;
    if (...) {cond = false}
  s3;s4;
 }
}
これは、condが2回目のループでfalseになるとすると、
s1,s2,s3,s4,s1,s2,s3,s4の順で実行される。
で、
foo() {
 s1;s2;
 if (!...) {foo();}
 s3;s4;
}
これは、2回目のループで(!...)がfalseになるとすると、
s1,s2,s1,s2,s3,s4,s3,s4で実行されるから順番が変わる。そこでs3;s4をifの前に持ってくるわけだ。
すると、
foo() {
_loop:
 s1;s2;s3;s4
 if(...) goto _loop;
}

みんな末尾再帰でgoto使う?


844 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:24:12 ]
末尾再帰をgotoにするのはコンパイラのお仕事。

845 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 02:28:28 ]
再帰使うならgotoはいらん。
(再帰を中断するときには使うかもしれん)

846 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 05:40:03 ]
つかそれはdo{}while(..);

847 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 07:36:46 ]
>>843が全然末尾再帰になっていない件について

848 名前:goto使わなければそれがいい派 mailto:sage [2008/02/21(木) 10:34:02 ]
>>751
まあ、そういうコードが含まれているプログラムの中には
脆弱性だのバグだのいっぱい含まれているものだ。

 セキュリティについて、潔癖で有名なDJBですら、結構gotoを
多くつかう。 まったく使わないで終わらせた作品としては
は、比較的私家版パッチの突っ込みが少ない publicfile くらい。
後は山のようにgoto文があってDJBは嫌いだという人間もいる。

849 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 10:37:28 ]
>>841
{} がつくと何でも変数スコープを狭く取りたがるつか、
同じ変数を使いまわしてもバグにならないというか、
単たる手抜きか。

850 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 14:08:08 ]
pascalみたいに手続きの最初で全部まとめて宣言しろ



851 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 15:58:33 ]
>>841
それも違うだろ。それくらい最適化でどうにでもできる。

852 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 20:22:54 ]
>>845
ハァ?再帰からgotoで抜けるだぁ?
これだからgoto厨は…






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

前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