変数名、関数名、型名、名前空間名など、プログラム中の名前として使われるもの。 ただし、キーワード(C++)は識別子として使えない。
基本的な規則
- 基本的には英数字と
_(アンダースコア)を使う - 先頭文字を数字で始めることはできない
慣習として推奨される命名
int value; // conventional
int Value; // unconventional
int VALUE; // unconventional
int VaLuE; // unconventional言語仕様が予約している識別子の形式
_2連続を含む_で始まりアルファベット大文字が一つ以上続くもの- グローバル名前空間において、
_で始まるもの
実用上は、自作の識別子をアンダースコアで始めないほうが安全。
文脈依存キーワード
ユーザーが自由に使うことができるが、現れる場所によって特別な意味を持つ識別子
finaloverride
代替表現
記号で書かれる演算子のようなトークンの代替として置換されることが決まっている識別子。 標準で用途が決まっているので、変数名に使ってはならない。
&&に対応するandなど
特別な名前
関数内では、現在の関数名を表す特別な識別子__func__が使える。
__func__: 関数本体に出現した場合に、その関数名を表す文字型の配列
__FILE__、__LINE__、__cplusplus__ などはプリプロセッサ(C++)で扱われる事前定義マクロ。