識別子

提供: RAD Studio
移動先: 案内検索

トークンの概要:インデックス への移動


識別子の正式な定義は次のとおりです。

識別子:

  • 識別子非数字
  • 識別子 識別子非数字
  • 識別子 数字

識別子 識別子非数字:

  • 非数字
  • 国際文字名(Unicode)
  • その他の実装定義文字


非数字: 次のうちの 1 つ

  • a b c d e f g h i j k l m n o p q r s t u v w x y z _
  • A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

数字: 次のうちの 1 つ

  • 0 1 2 3 4 5 6 7 8 9

名前の付け方と長さの制限

識別子は、クラス、オブジェクト、関数、変数、ユーザー定義のデータ型などに付けた、任意の長さの任意の名前です。 識別子には、ASCII および Unicode を含む任意の文字、アンダースコア "_"、および 0 から 9 の数字を使用できます。 識別子に含まれる文字はすべて有効です。

  • 識別子の先頭の文字は、文字またはアンダースコアでなければなりません。
  • デフォルトでは、コンパイラはすべての文字を有効と認識します。 有効文字の数は、メニュー オプションおよびコマンドライン オプションで減らすことができますが、増やすことはできません。 有効文字の長さを変更するには、[プロジェクト|オプション...|C++ コンパイラ|拡張|識別子の長さ]で、任意の長さを設定します。

識別子の国際文字名に含まれる Unicode 文字は、ISO 10646 のエンコーディング(TR 10176:2003 の付録 A に定められている符号表の 1 つに属するもの)を持つ必要があります。 符号表には、ラテン文字、ギリシャ文字、キリル文字、アルメニア文字、ヘブライ文字、アラビア文字、シリア文字、ターナ文字、デバナガリ文字、ベンガル文字、グルムキー文字、グジャラート文字、オリヤー文字、タミール文字、テルグ文字、カンナダ文字、マラヤーラム文字、シンハラ文字、タイ文字、ラオ文字、チベット文字、ミャンマー文字、グルジア文字、エチオピア文字、チェロキー文字、カナダ先住民音節、オガム文字、ルーン文字、クメール文字、モンゴル文字、ひらがな、カタカナ、ボポモフォ文字、CJK 統合漢字、イ文字、ハングル文字、数字、特殊文字が定められています。

大文字と小文字の区別

C および C++ の識別子では、大文字と小文字が区別されます。そのため、Sum、sum、suM はそれぞれ別の識別子です。

他のモジュールからインポートしたグローバル識別子にも、通常の識別子と同じ命名規則と有効文字の規則が適用されます。 ただし、大文字と小文字の区別を一時停止するオプションを設定すれば、大文字と小文字を区別しない言語とリンクするときに互換性を保つことができます。 大文字と小文字を区別しないオプションを設定すると、グローバル識別子 Sum および sum は同一のものと認識できるようになります。 リンク中に "シンボル名が重複しています" という警告が出力されます。

これらの規則には、__pascal 型の識別子はリンクのため常にすべて大文字に変換される、という例外があります。

唯一性とスコープ

(前述の規則の範囲内で)識別子名は任意のものですが、同一のスコープ内にあり同一の名前空間を共有する場合に、同じ名前が複数の識別子に使用されるとエラーになります。 異なる名前空間では、スコープに関係なく、名前が重複しても問題ありません。

関連項目