只有內建型別(內建型別是程式語言自己定義的一些型別)存在字面值,沒有類(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型字面值。字面值常量顧名思義由字面意思表示,是常量。字面值常量在程式中是直接表示的,整型直接寫出大小,字元直接寫出字元。乙個字面值常量在編譯時被直接解析為立即數,編譯器內部維護...