c++における識別子定数表現方法

1627 ワード

識別子定数とは?
識別子定数は、数値の代わりに1つの記号を使用することを意味する記号定数とも呼ばれます.
なぜ使うの?
プログラムでよく現れる数値について、シンボルを定義して表すことができます.利点は、修正が便利で、コードの可読性が高いことです.例えば、プログラムで定数πを使って、毎回3.1415926と書くと、面倒で間違いやすいだけでなく、もっと重要なのは、この数値を修正したいときは、どこでも修正する必要があります.明らかにこれは面倒なことです.πにPIという名前をつけると、これらの面倒を避けることができます.
識別子の表示方法
C++ではconst修飾,#define定義,enum列挙の3つの方法が一般的である.
1.const修飾の読み取り専用変数
例:
const float PI = 3.1415926f//  f      ,       

特徴:(1)変数は読み取りのみ、修正はできません(2)定義時に(3)識別子を初期化する必要があります通常大文字で他の識別子と区別します
2.define定義識別子
例:
#define PI 3.1415926

#defineはコンパイル前処理コマンドで、特徴は以下の通りです:(1)文末にセミコロン(2)コンパイルシステムが文法検査を行わないことは明らかです.下:
#define PI 3.14MNP+5

システムも間違っていませんが、この文法もあなたが望んでいる効果はありません.したがって,この方式による識別子定数の定義は推奨されない.
3.enum列挙定数
例:
enum COLORS{Black,Red,Green,Blue};

上記の2つの方法で識別子定数の数値サイズとタイプを任意に定義できるのとは異なり、列挙定数は整数定数のみである.システムのデフォルトでは、列挙定数ごとに整数が対応し、0から1ずつ加算されます.すなわちBlackは0,Redは1となり,順次類推する.もちろん、これらの列挙タイプは、単独で再指定してもよいし、部分的に指定してもよい.未指定の列挙値は、前の指定列挙定数に1を加算する.例:
enum COLORS{Black=5,Red,Green=3,Blue};

上記列挙定数の値は、5,6,3,4の順である