📅  最后修改于: 2023-12-03 14:39:59.500000             🧑  作者: Mango
C++常数字面量是指在C++中表示常数的字面语法。在C++11中,引入了许多新的数字面量,可以更方便地表示数值。
在C++中,可以使用十进制、八进制、十六进制以及二进制表示整数。
1234
、-5678
0123
、-0765
0xABC
、-0x123
0b1010
、-0B1111
int a = 42; // 十进制整数常量
int b = 0123; // 八进制整数常量
int c = 0xABC; // 十六进制整数常量
int d = 0b1010; // 二进制整数常量(C++14中)
浮点数字面量可以表示小数,其包含整数部分、小数点、小数部分、指数部分等。
12.34e5
、-1.23E-4
0x
或0X
,后跟十六进制小数及十六进制指数组成。例如:0x1.2p3
、-0x3.2P-4
double a = 1.23; // 普通浮点数常量
double b = -4.56e7; // 科学计数法浮点数常量
double c = 0x1.2p3; // 十六进制浮点数常量
C++中的布尔类型只有两种值:true
与false
。在C++中,也可以使用整型的0
或1
来表示布尔类型的值。
bool a = true; // 布尔数常量true
bool b = false; // 布尔数常量false
int c = 1; // 整数1表示true
int d = 0; // 整数0表示false
在C++中,字符数字面量用于表示单个字符的值。其有两种表示方式:一种是使用字符本身,一种是使用字符的ASCII码值。
'a'
、'='
\
后跟一个数字表示该字符的ASCII码值。例如:'\n'
、'\x41'
char a = 'A'; // 字符'A'
char b = '='; // 字符'='
char c = '\n'; // 换行符
char d = '\x41'; // 字符'A'
在C++中,字符串数字面量用于表示一个字符串,其由多个字符组成。字符串数字面量使用双引号括起来。
string str1 = "Hello, World!"; // 字符串常量
string str2 = "I'm a coder."; // 字符串常量
C++11提供了用户定义字面量(User-Defined Literals),其允许用户创建自己的数字字面量。用户定义字面量由以下4部分组成:前缀、数值、后缀、操作符。
long double operator "" _deg(long double deg)
{
return deg * 3.141592 / 180; // 将度数转换为弧度
}
long double a = 180.0_deg; // 180度转换为弧度