|
|
5
是一個 字面值常量。
|
|
1776
始終代表值 一千七百七十六。0
(零)字元。對於十六進位制,它們的前面是 0x
(零,x)字元。例如,以下字面值常量都等價於
|
|
int
型別。但是,可以在整數字面值後附加某些字尾來指定不同的整數型別字尾 | 型別修飾符 |
---|---|
u 或 U | unsigned |
l 或 L | long |
ll 或 LL | long long |
unsigned long
或 unsigned long long
。
|
|
e
字元(表示“乘以 10 的 X 次方”,其中 X 是跟在 e
字元後面的整數值),或者同時包含小數點和 e
字元。
|
|
double
。可以透過新增以下字尾之一來指定 float
或 long double
型別的浮點數字面值字尾 | 型別 |
---|---|
f 或 F | float |
l 或 L | long double |
|
|
e
、f
、l
)中的任何一個都可以使用小寫或大寫字母編寫,含義沒有區別。
|
|
'
)之間;要表示字串(通常由多個字元組成),我們將字元放在雙引號("
)之間。x
'x'
x
指的是一個識別符號,例如變數名或複合型別名;而 'x'
(包含在單引號中)指的是字元字面值 'x'
(代表小寫字母 x 的字元)。\n
)或製表符(\t
)。所有這些特殊字元前面都帶有反斜槓字元(\
)。轉義碼 | 描述 |
---|---|
\n | 換行 |
\r | 回車 |
\t | 製表符 |
\v | 垂直製表符 |
\b | 退格 |
\f | 換頁符 |
\a | 響鈴(蜂鳴) |
\' | 單引號(' ) |
\" | 雙引號(" ) |
\? | 問號(? ) |
\\ | 反斜槓(\ ) |
'\n'
'\t'
"Left \t Right"
"one\ntwo\nthree"
\
),後跟以八進位制(基數為 8)或十六進位制(基數為 16)表示的程式碼。對於八進位制值,反斜槓後面直接跟著數字;而對於十六進位制,則在反斜槓和十六進位制數字本身之間插入一個 x
字元(例如:\x20
或 \x4A
)。
|
|
|
|
\
)被視為一個行續接字元,它將當前行和下一行合併為一行。因此,以下程式碼
|
|
|
|
char
型別的字元組成。可以透過使用以下任一字首來指定不同的字元型別字首 | 字元型別 |
---|---|
u | char16_t |
U | char32_t |
L | wchar_t |
char16_t
使用小寫,而 char32_t
和 wchar_t
使用大寫。u
、U
和 L
之外,還有兩個額外的字首字首 | 描述 |
---|---|
u8 | 字串字面值在可執行檔案中使用 UTF-8 編碼 |
R | 字串字面值是原始字串 |
R"sequence("
和一個結束的 ")sequence"
分隔,其中 sequence
是任何字元序列(包括空序列)。字串的內容是括號內的內容,忽略分隔序列本身。例如
|
|
"string with \\backslash"
。R
字首可以與任何其他字首結合使用,例如 u
、L
或 u8
。true
、false
和 nullptr
。true
和 false
是 bool
型別變數的兩個可能值。nullptr
是空指標值。
|
|
|
|
|
|
31.4159 |
#define 識別符號 替換內容
identifier
的任何出現都將被解釋為 replacement
,其中 replacement 是任何字元序列(直到行尾)。此替換由預處理器執行,並在程式編譯之前發生,從而導致一種盲目替換:涉及的型別或語法的有效性不會以任何方式進行檢查。
|
|
31.4159 |
#define
行是預處理器指令,因此它們是單行指令,與 C++ 語句不同,不需要在末尾加分號(;);指令會自動擴充套件到行尾。如果行中包含分號,它將成為替換序列的一部分,並且也會包含在所有被替換的出現中。![]() 變數與型別 | ![]() 目錄 | ![]() 運算子 |