C++ Primer 2.1.3 字面值常量 笔记

字面值常量

整型和浮点型

整型

整型可以写成十进制 八进制 十六进制

十进制:正常的数字

int.long.long long中最能放得下的类型
整型默认是signed

八进制:027 用0开头

可以是int.unsigned.long.unsigned long.longlong.unsigned long long 中能放得下最小的类型

十六进制:0x1A 用0x开头

可以是int.unsigned.long.unsigned long.longlong.unsigned long long 中能放得下最小的类型
PS: 严格说,整型字面值常量没有负数如-10 其中10是字面值,-对这个字面值常量取负数

浮点型

默认是double 3.14
也可用科学计算机 3.14e3 3.14E3

字符和字符串字面值

字符字面值’a’
字符串字面值"a"
字符串字面值末尾有’\0’ 空字符
字符串字面值实质就是const char []
字符串分开写

cout<<"long long long long long long long long"
      "long long long long long long long string";

转义

转义序列如 ‘\n’

下面几个比较陌生:

\v 纵向制表符

// 效果如下
1
 2
  3
   4

\b 退格符back 作用是将光标往回退一格

// 输出是 hellworld
cout << "hello\b" << "world";

\f 进纸符 换页
也可以用数字转义

称为泛化的转义序列

有两种形式
\7 \77 \777 反斜杠加最多三位八进制数
\0xAAAAAAAAA 无限位数的十六进制数
十六进制一般报错,应该限定字面值类型,为特殊的字符集

指定字面值常量的类型

通过添加前缀或者后缀,改变字面值常量默认类型
注意:这里限定的是默认类型,如果超出,还是会往大的类型确定

整型和浮点型用后缀

整型

u or U unsigned
l or L long
ll or LL long long

浮点型

f or F float
l or L long double

字符和字符串字面值常量用前缀

u Unicode 16 char16_t
U Unicode 32 char32_t
L 宽字符 wchar_t
u8 UTF-8 char

bool型字面值

就是true or false

指针字面值

空指针 nullptr

关于字符编码 明天再写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值