
No.2ベストアンサー
- 回答日時:
グローバル変数に何が入っているかは、プログラムを読み始めて最後まで読み終わるまでずっと覚えておかなくてはなりません。
ローカル変数だと、関数の最初から最後まで覚えておけば大丈夫。
同じ意味で、宣言するのが面倒だからと全然違う目的に使い回すのも良くない。
速度はケースバイケースですが、実感できるほどの差には普通なりません。
>>宣言するのが面倒だからと全然違う目的に使い回すのも良くない。
なるべく使い回した方が実行速度短縮になっていいのかな?と思っていたのですが、これはやらないほうがいいんですね。
>>速度はケースバイケースですが、実感できるほどの差には普通なりません。
これも引数として渡すより、グローバル変数にした方が速いのかと思っていたのですが、殆ど代わらないのならやめるようにします。
回答ありがとうございました!
No.3
- 回答日時:
金庫を路上に放置しておくようなものです。
一人で自己満足の範囲でマスターベージョンのようなプログラムならば好き勝手にやっても構いませんが、
将来的に仕事にしたいとか、自分で作ったアプリを一般公開したいなどのような目的がある場合は、グローバルなんて知らなくていいですよ。
何がどういつの時点で入っているか、書き換わっているか。わかったもんじゃないです。
>>何がどういつの時点で入っているか、書き換わっているか。わかったもんじゃないです。
そういう物なんですね。
回答ありがとうございました!
No.1
- 回答日時:
変数のスコープが広いと、広い範囲からアクセス(参照・変更)できますね。
参照はともかく、広い範囲から変更できるということは、
自分が意図しない、思わぬところで変更していることがあり得ます。
その結果、「この変数の値は、なぜこうなっているのか?」という
問題に苦しむ場合が多くなります。
プログラムの完成に時間がかかります。
変数のスコープ(勢力範囲)ができるだけせまい方がいいのは、
こういう理由のためです。
プログラムが製作しにくくなるという理由なんですね。
まだ小規模なプログラムしか書けないので余り実感が湧きませんが、大規模なプログラムだとそのようなことが大事になってくるのでしょうね。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
"判定"の英語表現について
-
vba ListViewの選択色について...
-
DBマジック
-
X線CTにおけるコリメータの役割...
-
エディットでEnterキーでのTAB移動
-
flashのスクリプト等を学びたい...
-
プログラム中の大カッコについて
-
Shellコマンドで別のexeを起動...
-
SetTimer関数について。
-
メッセージボックスを前面に表...
-
SPREAD(GrapeCity)のセルにフォ...
-
【至急】フォトショップの「自...
-
他の人には声だして挨拶してる...
-
JP1/IM-Manager とTELstaff
-
レーザのスポット径の計算式
-
どこにもフォーカスを当てたくない
-
映像編集プレビュー時のカクカク
-
トップページの上部の広告宣伝...
-
C# ReadOnlyのTextBoxで
-
Adobe Premiereでのコマ落とし
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
"判定"の英語表現について
-
vba ListViewの選択色について...
-
DBマジック
-
X線CTにおけるコリメータの役割...
-
For ~ Next の中での Dim宣言...
-
Wacomのタッチ機能が反応しませ...
-
Shellコマンドで別のexeを起動...
-
プログラム中の大カッコについて
-
大腿骨の骨梁
-
SetTimer関数について。
-
他のアプリからVBのFormへフォ...
-
ビットマップの2値化
-
Detected memory leaks!
-
iPad第10世代の発売日、価格予...
-
iPhone 14 Pro 対 GNS3000 のGP...
-
以前アクティブだったウィンド...
-
Celeron D とPentium Dの違いは?
-
ペンタブIntuosのワイヤレス機...
-
ActionScriptのコンパイル設定
-
VC スクロールバーの移動?
おすすめ情報