字面值型別

2021-07-10 19:16:37 字數 1336 閱讀 4016

只有內建型別(內建型別是程式語言自己定義的一些型別)存在字面值,沒有類(class)型別字面值。

例如:0是int型別的字面值,3.14159是double型別的字面值。

1、整型浮點字面值20

decimal 十進位制

024octal 八進位制

0x14

hexadecimal 十六進製制

128u ,128u

unsigned

1024ul

unsigned long

1llong 長整形

8luunsigned long

3.14159f = 3.14159e0f

float,科學計數

.001f = 1e-3f

float,科學計數

12.345l = 1.2345e1l

long double 擴充套件精度 ,科學計數

= 0e0

double ,科學計數

『a』char 字元

l』a』

wchar_t 寬字元

l」abcdef」

wstring寬字串

//沒有short的字面常量

2、字串字面值

字串字面值是一串常量字元,字串字面值常量由雙引號括起來,字元字面值常量用單引號括起來。為了相容c語言,c++中的字串字面值將由編譯器自動在末尾新增乙個空字串。

『a』 : 表示單個字元a

「a」 : 表示字元a和空字元兩個字元的字串

同理 也存在 寬字串:

「a wide string literal」 : 一串寬字元+寬空字元

3、字串字面值連線

不同型別的字串不能連線: 字串字面值和寬字串字面值不能連線。

std::cout

<< "a multi-line "

"string literal "

"using concatenation"

<< std::endl;

這段**可以正確執行 : a multi-line string literal using concatenation

另外多行字面值還有一種寫法:

std::cout

<< "a multi-line \

string literal \

using concatenation"

<< std::endl;

注意的是」\」必須是該行的末尾,後面不能有注釋或者空格。

字面值型別

1 字面值常量 乙個形如42的值被稱作字面值常量,這樣的值一望而知。每個字面值常量都對應一種資料型別,字面值常量的形式和值決定了它的資料型別,包含 2 常量表示式 指值不會改變並且在編譯過程就能得到計算結果的表示式。很顯然,字面值屬於常量表示式,用常量表示式初始化的const物件也是常量表示式。乙個...

C 中字面值常量和字面值型別

乙個形如42的值被稱為字面值常量。字面值常量的形式和值決定了常量的型別。例如0x42是16進製表示的整型常量。a 是char型字面值。字面值常量顧名思義由字面意思表示,是常量。字面值常量在程式中是直接表示的,整型直接寫出大小,字元直接寫出字元。乙個字面值常量在編譯時被直接解析為立即數,編譯器內部維護...

C 中字面值常量和字面值型別

乙個形如42的值被稱為字面值常量。字面值常量的形式和值決定了常量的型別。例如0x42是16進製表示的整型常量。a 是char型字面值。字面值常量顧名思義由字面意思表示,是常量。字面值常量在程式中是直接表示的,整型直接寫出大小,字元直接寫出字元。乙個字面值常量在編譯時被直接解析為立即數,編譯器內部維護...