zoukankan      html  css  js  c++  java
  • C++ Primer 4 CPP Note 2.2 字面值常量(literal constant)

    只有内置类型存在字面值,没有类(class)类型字面值.例如:0是int类型的字面值,3.14159是double类型的字面值.


    整型浮点字面值

    20                      // decimal   十进制
    024 // octal 八进制
    0X14 // hexadecimal 十六进制
    128u ,128U // unsigned
    1024UL // unsigned long
    1L // long 长整形
    8Lu // unsigned long
    3.14159F = 3.14159E0F // float ,科学计数
    .001f = 1E-3F // float,科学计数
    12.345L = 1.2345E1L // long double 扩展精度 ,科学计数
    0. = 0e0 // double ,科学计数
    'a' // char 字符
    L'a' // wchar_t 宽字符
    //没有short的字面常量
     
    字符串字面值

     
    字符串字面值是一串常量字符,字符串字面值常量由双引号括起来,字符字面值常量用单引号括起来.
     
    为了兼容C语言,C++中的字符串字面值将由编译器自动在末尾添加一个空字符串.
    'A'  :     表示单个字符A
    "A" :     表示字符A和空字符两个字符的字符串
    同理 也存在 宽字符串
    L"a wide string literal"  : 一串宽字符+宽空字符

    字符串字面值连接

    不同类型的字符串不能连接: 字符串字面值 和 宽 字符串字面值 不能连接
    std::cout << "a multi-line "
    "string literal "
    "using concatenation"
    << std::endl;
    可以正确执行 : a multi-line string literal using concatenation
    但是
    std::cout << "multi-line " 
    L"literal" <<std::endl;
    将编译错误.
    另外多行字面值还有一种写法:
    std::cout << "a multi-line \
    string literal \
    using concatenation" << std::endl;
    注意的是"\"必须是该行的末尾,后面不能有注释或者空格

  • 相关阅读:
    GTK+ 3.6.2 发布,小的 bug 修复版本
    RunJS 新增 Echo Ajax 测试功能
    Mozilla 发布 Popcorn Maker,在线创作视频
    Sina微博OAuth2框架解密
    Mina状态机State Machine
    Mozilla 发布 Shumway —— 纯JS的SWF解析器
    Code Browser 4.5 发布,代码浏览器
    ROSA 2012 "Enterprise Linux Server" 发布
    ltrace 0.7.0 发布,程序调试工具
    Artifactory 2.6.5 发布,Maven 扩展工具
  • 原文地址:https://www.cnblogs.com/coveted/p/2221854.html
Copyright © 2011-2022 走看看