勵志

勵志人生知識庫

c++字面值

C++中的字面值(Literal)是表示固定值的語法元素,直接出現在代碼中,不需要進行計算或求值。C++支持多種類型的字面值,包括整數浮點數字元字元串布爾值等。這些字面值可以直接在代碼中使用,並具有與其類型相對應的值和語義。以下是幾種C++字面值的詳細說明:

整型字面值。可以用十進制、八進制、十六進制或二進制表示。例如,十進制字面值`20`默認為`int`類型,但如果超出`int`範圍,可能需要使用`long`或`long long`。八進制(以`0`開頭)和十六進制(以`0x`或`0X`開頭)的字面值可以是`int`、`unsigned int`、`long`、`unsigned long`、`long long`和`unsigned long long`中的最小類型。

浮點數字面值。默認為`double`類型,也可以表示為`float`(添加後綴`f`或`F`)或`long double`(添加後綴`l`或`L`)。

字元和字元串字面值。由單引號括起來的單個字元為字元字面值,如`'A'`;雙引號括起來的零個或多個字元為字元串字面值,如`"hello"`。字元字面值可以進一步分為普通字元和寬字元(通過添加前綴`L`表示),以及UTF-8字元串字面值(通過添加前綴`u8`表示)。

C++11引入了用戶自定義字面量(User-defined Literal Operator),允許創建以特定後綴命名的字面量,以便更靈活地處理和表示值。