定数「Const」で宣言する意味はあるのでしょうか? への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 とくま  (社会人) 投稿日時 2011/3/29 12:45:27
「変数」と比較しているのであれば、日本語が
違う時点で、意味に違いがあるということでは。

それぞれの意味は国語辞典で載っている
レベルで違いがあり、違いに意味があります。
投稿者 よねKEN  (社会人) 投稿日時 2011/3/29 12:37:25
大勢の人で一つのアプリケーション作る場合を考えてみてください。
誰かが宣言したAが変数だった場合と定数だった場合を。
値が変わることがないのにAが変数だったら、
ソースコードを読む人は、Aの使用されている箇所をすべてチェックしないと
Aの値がそのときどきでどんな値になるのかわかりません。

それに対してAが定数だったら、値が変わらないことを前提に
ソースコードを読むことができます。既存のプログラムを修正する場合に
このメリットは非常に大きいものです。

一人で開発している場合でも何ヶ月かたった後に
そのソースコードを読んで修正する場合のことを考えてみてください。





投稿者 shu  (社会人) 投稿日時 2011/3/29 12:24:37
(1)
Public Const CONST_A as Integer = 123

Public intVarA as Integer = CONST_A


(2)
Public A as Integer = 123
Public intVarA as Integer = A


ということでしょうか?
(1)の場合だと変数用のメモリがintVarAの1つ分しかとられませんが
(2)の場合だと変数用のメモリがAとintVarAの2つ分とられてしまいます。

Constはある決まった値に名前をつけるために使用されます。Const宣言だけでは変数用のメモリは
確保されません。
投稿者 ゼブノ  (中学生) 投稿日時 2011/3/29 11:42:04
Publicで宣言しても同じだと思うのですが……