C++ Primer 4 CPP Note 2.2 字面值常量(literal constant)

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


整型浮点字面值


20                      // decimal   十进制024                   //  octal     八进制0X14                //   hexadecimal     十六进制128u ,128U      //    unsigned1024UL           //    unsigned long1L                 //      long  长整形8Lu              //      unsigned long3.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;

注意的是"\"必须是该行的末尾,后面不能有注释或者空格

原文链接: https://www.cnblogs.com/coveted/archive/2011/10/23/2221854.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/34877

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 上午11:48
下一篇 2023年2月8日 上午11:48

相关推荐