共用方式為


語彙基元和字元集

C++ 程式的文字是由標記和 空格 符所組成。 語彙基元是 C++ 程式中對編譯器有意義的最小項目。 C++ 剖析器可辨識這些類型的權杖:

權杖通常會以 空格 符分隔,這可以是一或多個:

  • 空白
  • 水平或垂直定位字元
  • 新行
  • 表單摘要
  • 註解

基本來源字元集

C++ 標準指定可用於原始程式檔的 「基本來源字元集」 (Basic Source Character Set)。 為了表示不在這個集合中的字元,還可使用 「通用字元名稱」(Universal Character Name) 來指定額外的字元。 MSVC 實作允許其他字元。 「基本來源字元集」 (Basic Source Character Set) 是由可用於原始程式檔的 96 個字元所組成。 這個集合包含空白字元、水平定位字元、垂直定位字元、換頁字元和換行控制字元,以及下列一組圖形字元:

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

0 1 2 3 4 5 6 7 8 9

_ { } [ ] # ( ) < > % : ; . ? * + - / ^ & | ~ ! = , \ " '

Microsoft 特定的

MSVC 包含 $ 字元做為基本來源字元集的成員。 MSVC 也允許根據檔案編碼,在來源檔案中使用一組額外的字元。 根據預設,Visual Studio 會使用預設字碼頁來儲存原始程式檔。 使用地區設定特定的字碼頁或 Unicode 字碼頁儲存原始程式檔時,MSVC 可讓您在原始程式碼中使用該字碼頁的任何字元,但基本來源字元集中未明確允許的控制程式代碼除外。 例如,如果您使用日文字碼頁來儲存檔案,則可以將日文字元放在註解、識別項或字串常值中。 MSVC 不允許無法轉譯成有效多位元組字元或 Unicode 字碼點的字元序列。 根據編譯器選項,並非所有允許的字元都可出現在識別項中。 如需詳細資訊,請參閱識別碼

END Microsoft 特定的

通用字元名稱

由於 C++ 程式可以使用比基本來源字元集所指定的字元還要多的字元,因此您可以使用 「通用字元名稱」(Universal Character Name),透過移植的方式來指定這些字元。 通用字元名稱是由代表 Unicode 字碼指標的字元序列所組成。 這些字元採用兩種格式。 使用 \UNNNNNNNN 來表示 U+NNNNNNNN 格式的 Unicode 字碼指標,其中 NNNNNNNN 是八位數的十六進位字碼指標數字。 使用四位數的 \uNNNN 來表示 U+0000NNNN 格式的 Unicode 字碼指標。

通用字元名稱可用於識別項、字串和字元常值中。 通用字元名稱不可用來代表範圍 0xD800-0xDFFF 中的 Surrogate 字碼指標。 請改用想要的字碼指標;編譯器會自動產生任何必要的 Surrogate。 可用於識別項的通用字元名稱還有其他限制。 如需詳細資訊,請參閱 IdentifiersString and Character Literals

Microsoft 特定的

Microsoft C++ 編譯器會以通用字元名稱形式和常值形式交換處理字元。 例如,您可以使用通用字元名稱格式宣告一個識別項,然後以常值格式來使用該識別項:

auto \u30AD = 42; // \u30AD is 'キ'
if (キ == 42) return true; // \u30AD and キ are the same to the compiler

Windows [剪貼簿] 上的擴充字元格式會因應用程式地區設定而有所不同。 將這些字元從另一個應用程式剪下並貼到您的程式碼可能會採用未預期的字元編碼方式。 這會導致程式碼中出現沒有明顯原因的剖析錯誤。 建議您先將原始程式檔編碼方式設定為 Unicode 字碼頁,再剖析擴充字元。 此外,也建議您使用 IME 或字元對應表應用程式來產生擴充字元。

END Microsoft 特定的

執行字元集

執行 字元集 代表可以出現在已編譯器中的字元和字串。 這些字元集包含原始程式檔中允許的所有字元,以及代表警示、退格字元、歸位字元和 Null 字元的控制字元。 執行字元集具有地區設定特定表示法。