2.1 基本内置类型(2)字面值常量,转义序列

字面值常量
    每个字面值常量对应一种数据类型。
    整型字面值:十进制,八进制(以0开头),十六进制(以0x或0X开头)。类型short没有对应的字面值。
    字符串字面值:即'a'和"Hello World!"。注意,编译器在每个字符串的结尾处添加一个空字符'\0',因此字符串字面值的实际长度比它的内容多1 。如果两个字符串位置紧邻并且仅由空格、缩进和换行符分隔,则他们实际上是一个整体。所以一个字符串如果太长,写在一行里不合适,就可以分开写:
    cout << "a really, really long string literal "
             << "that spans two lines" << endl;

    转义序列
    程序员不能直接使用的字符:不可打印字符(如退格或其他控制符),在C++中具有特殊含义的字符(单引号,双引号,问号,反斜线)。在这些情况下需要转义序列。转义序列均以反斜线作为开始。包括如下内容:
    \n  \t  \a  \v  \b  \"  \\  \?  \'  \r  \f
    这些转义序列被当做一个字符使用。
    也可以使用泛化的转义序列,即\后面跟一个或多个十六进制数字,或跟1个,2个或3个八进制数字。

    指定字面值的类型
    通过在字面值中添加前缀或者后缀,可以指定字面值的默认类型。
    L'a'   u8"hi!"  42ULL  1E-3F    3.14159L
    前缀:L宽字符,u8是UTF-8(仅用于字符串),u是Unicode16,U是Unicode32,
    后缀:
    整型:u或U是unsigned(会选择unsigned int,unsigned long,unsigned long long中能匹配的空间最小的一个),l或L是long,ll或LL是long long
    浮点型:f或F是float,l或L是long double
    指针字面值:nullptr
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值