処がだ。
int func() {
static int rtn;
rtn = 0;
for (;;) {
...; // 適当な処理
}
return rtn;
}
こんな関数があったとする。
今のコンパイラだとrtnはstaticにしない方が大抵速いんだな。
何故なら、staticじゃなければrtnをレジスタ変数にできるからだ。
尤も、最適化の優れたコンパイラならループ脱出まではレジスタ変数として、
ループ脱出後にstaticにコピーするだろうけれど。
#勿論、それでも何もしないよりはコストが掛かるわけだ。
従って、高速化を目的としたstatic化、グローバル化はしばしば下手の考えとなるってこった。
>>952 現在の話題と全然合ってない例出されても、お前がバカだっつーことしかわからんよ。
次から気をつけろよ。
ていうか、こんな話題で処理速度出されてもなw
957 :
デフォルトの名無しさん:2006/06/10(土) 22:01:38
結局、グローバル変数が何故駄目なのか理解できなかったのか?
レベル低いな。
話題出した奴のレベルが低かったからなぁ
>>946 >処理速度が必要なところだとグローバル変数は必須
>>947 >static でなんとか踏ん張れ。
>>950 >つまりユーザからしてみれば処理速度遅くなるくらいならグローバルでも何でも使ってくれよってことか。
>>951 >つまりグローバル変数減らす代わりに処理速度遅いプログラムは本末転倒の真のヘタレプログラムってことですね。
>>952 >従って、高速化を目的としたstatic化、グローバル化はしばしば下手の考えとなるってこった。
>>954 斯くの如く卑近な話題に乗っていると思うが。
>>956 同意。
点で的外れ、
線で場違い。
俺様がそう思うから違う考えの奴は尽く馬鹿ということですか
>>962 例えば>828とかか。
てか、このスレで愚痴言ってる奴全員そうか。
結局グローバル変数は使わないけど処理速度は落とさないって自信もって言える奴はいねーのかよw
そもそも
>>952こんな例だされてもデータ1個なんてどうでもいいんですよ。
10個20個だった場合引数を10個20個にしろっていうのか?
はじめっからグローバル用途でスタティックするくらいなら素直にグローバル使えばいいのに。
グローバル変数使うとエラーや変更すべき個所を特定しにくいしバグの原因にもなる。
だからあんまり使いたくないんだけど、処理速度の話されたらやっぱ使っちゃうんだよね…。
969 :
デフォルトの名無しさん:2006/06/10(土) 22:58:20
そんなに悩むのならば、辞めちゃえばいいのに、プログラマー。
970 :
デフォルトの名無しさん:2006/06/10(土) 22:59:12
>>965 ぷw
処理速度なんて持ち出していいわけしてはずかしくないの?(大笑)
>>968 自分が馬鹿ないいわけにはちょっとはずかしいかなw
>>956 逆に処理速度の話されると何か困るのかなぁ?
973 :
デフォルトの名無しさん:2006/06/10(土) 23:06:15
>>972 ループが重なる処理でもないしグローバル変数と処理速度を結びつけること自体プログラマとしては失格。
落ち着けよお前らw
↑オマエモナー
ユーザーはプログラマのことなんてどうでもいい、
プログラマの気苦労もどうでもいいし、しったこっちゃない。
プログラムがちゃんと動いて尚早ければもっといい。
ただそれだけ。
>>973 関数何回も呼ぶ必要がでてくるし、それだけ処理増えるじゃん。
何いってんだか。
なんだ今日はやけに書き込みが多いな。
979 :
デフォルトの名無しさん:2006/06/10(土) 23:15:48
>>977 それは処理速度にかかわる量なの何万回とかそういう話になるけど
そんな処理する前にローカル変数に1回移せば済む話だよね。
君は本当に馬鹿だね。
まともなプログラマならグローバル変数と処理速度なんて絶対に結びつけて話なんかしない。
君、会社でもおかしな発言して嫌われてるでしょ?
980 :
デフォルトの名無しさん:2006/06/10(土) 23:17:22
こんなとこに必死に書き込んでる日本人プログラマなんてたかが知れてる
おまいらがしている議論は太古からされていて、
しかも結論がでてる事に気づいている奴がたくさんいそうだな
C初心者ですが、RPG作ってるときにモンスターデータとかは構造体グローバル変数にしてもいいでしょうか?
>>983 そんなコード、まさにこのスレにお似合いだ。
このスレもーイラネーだろ
ただの愚痴スレと化してるな
>>903 そうだね。少なくとも
>>901はプログラマ向きじゃない。
今システム構築とかの現場でデスマーチが多いのはたいてい
>>901のような馬鹿や、
それ以外の馬鹿がたくさん居るせいだよ。
989 :
デフォルトの名無しさん:2006/06/11(日) 01:05:56
>>988 君ねw
グローバル変数なんてつかっちゃうほど頭が悪いのになんでそんなに自分の腕に自信もってるの?w
「gotoは使わない」「グローバル変数は使わない」とか聞いたことないの?ん?
俺がプログラム組み始めた頃はどこでも聞いたけどね。
それこそうるさいぐらいにこれを使ってる奴=馬鹿ってほど叫ばれてたよ。
たとえそれが正しい事でも教条主義的に語っては反発を招くよ
991 :
デフォルトの名無しさん:2006/06/11(日) 01:13:38
Msgbox("3")
Msgbox("2")
Msgbox("1")
Msgbox("0")
>>989 何故、言語仕様として用意されているのか?
なんて事すら考えられないなんて、逆に不敏になってくるな…。
要は使いようなだけで。gotoだって使いようによっては使わない場合よりシンプルになる場合だってある。
むしろ、なぜ、グローバル変数を使うことが嫌悪されるのかをよく考えて欲しいと思う。
ていうか、この理解無しにオブジェクト指向は理解できないだろ。いやマジで。
たぶんアレだよ
g_
の部分がキモイとかだよ
998 :
992:2006/06/11(日) 01:26:10
>>994 使うべき所では使う。
まあ、普通に書いてたらそうそう使う場面はないが。
何のルールもなく気楽にグローバルで宣言するのは確かにお利口さんじゃないわな。
1000 :
デフォルトの名無しさん:2006/06/11(日) 01:30:05
グローバル変数を使う奴は極上の馬鹿。
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。