記号定数 | Programming Place Plus 用語集

トップページ用語集

名称 🔗

解説 🔗

ソースコード内で、定数に名前(識別子)を付けたもののことです。

記号定数を用いると、500 とか 'c' といった、それだけを見ても意味を理解できないような定数(マジックナンバー)をソースコード内に直接記述するよりも分かりやすくなり、可読性を高められます。また、を変更する際に、修正すべき場所を見逃すミスを防ぐ効果があります。

非常によく似た用語に「名前付き定数」があります。実際同じ意味で使うこともありますが、記号定数の方がやや広い意味としていることもあり、名前付き定数はスコープを持った定数であることを意味するように使われることがあります。

記号定数を記述する方法はプログラミング言語によって異なります。

C言語の場合 🔗

C言語では、#define によるオブジェクト形式マクロを使います(C言語編第23章)。

#define ARRAY_SIZE 500

この記述以降、ARRAY_SIZE という名前は、500 に置換されたように扱われるため、500 を意味する記号定数として使えます。

#define には、マクロによる置換であることによる危険性もあるため、constconstexpr(C23以降)を用いることもあります。ただし、const を使う場合は定数とはみなせず、読み取り専用の変数という扱いであるため、厳密にいえば記号定数ではありません。

const int ARRAY_SIZE = 500;
constexpr int ARRAY_SIZE = 500;

C++ の場合 🔗

C言語と同様ですが、const でも整数型列挙型であれば定数として扱えるため、記号定数であると考えられます。ただし、constexpr が C++11 から使用できるので、こちらを使った方が良いです。


参考リンク 🔗

更新履歴 🔗


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る