変数名、関数名、型名、名前空間名など、プログラム中の名前として使われるもの。 ただし、キーワード(C++)は識別子として使えない。

基本的な規則

  • 基本的には英数字と_(アンダースコア)を使う
  • 先頭文字を数字で始めることはできない

慣習として推奨される命名

  1. 小文字から始める
  2. スネークケースまたはキャメルケース
int value; // conventional
 
int Value; // unconventional
int VALUE; // unconventional
int VaLuE; // unconventional

言語仕様が予約している識別子の形式

  • _2連続を含む
  • _で始まりアルファベット大文字が一つ以上続くもの
  • グローバル名前空間において、_で始まるもの

実用上は、自作の識別子をアンダースコアで始めないほうが安全。

文脈依存キーワード

ユーザーが自由に使うことができるが、現れる場所によって特別な意味を持つ識別子

  • final
  • override

代替表現

記号で書かれる演算子のようなトークンの代替として置換されることが決まっている識別子。 標準で用途が決まっているので、変数名に使ってはならない。

  • &&に対応するandなど

特別な名前

関数内では、現在の関数名を表す特別な識別子__func__が使える。

  • __func__: 関数本体に出現した場合に、その関数名を表す文字型の配列

__FILE____LINE____cplusplus__ などはプリプロセッサ(C++)で扱われる事前定義マクロ。

参考