定数
読み:ていすう
外語:constant
プログラミングにおいて、ある決まった数。ある大きさや値で固定化されており、変化をしないもの。
概要
プログラミングでは、読み出し専用の変数にあらかじめ決まった数に代入しておく方法と、即値として直接プログラム中に記述する値(直定数、リテラル)とがある。
前者の場合、よく使う定数に名前を付けておけることになるため、何らかの理由でその値を変更するときにも便利である。こういった変更の可能性がある数値を直接プログラムに書いてしまうとマジックナンバーとなり、修正するのも大変になる。
ちなみに、数学では定数は「ていすう」と読むが、コンピューター、特にプログラミング分野に於いては何故か「じょうすう」と読む人が多い。
特徴
C/C++
Cでは、#defineで別名定義することでマジックナンバー化を避けることができる。
このとき、それが定数であることを分かりやすくし、変数と区別するため、識別子は大文字、_、数字のみを使い、小文字は使わないという習慣がある。
C++では型が重要であるため、定数も#defineではなくconstを用いて宣言する方がよい。
変化する可能性
一般に、プログラミング言語における「定数」とは、再代入による変更ができず、再宣言もできない変数(相当)をいい、その内容が変化しないことは保証しない。
プログラミング言語ごとに様々ではあるが、基本的には「値への読み取り専用の参照を作る」ものであり、保持されている値が不変であるは保証されない。単に、その変数の識別子に再代入できなくするという意味でしかない。
従って、その変数の中身がオブジェクトである場合は、オブジェクトの内容(プロパティなど)は任意に変更可能である。
再検索