C++基本数据类型字面值
2012-12-18 14:46
204 查看
转自:http://blog.sina.com.cn/s/blog_58c3f79601018b8i.html
只有内置类型存在字面值,没有类(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;
注意的是"\"必须是该行的末尾,后面不能有注释或者空格
只有内置类型存在字面值,没有类(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;
注意的是"\"必须是该行的末尾,后面不能有注释或者空格
相关文章推荐
- The New C++ -- 基本数据类型和字面值常量 (1)
- The New C++ -- 基本数据类型和字面值常量 (2. 整型和整数字面值常量)
- The New C++ -- 基本数据类型和字面值常量 (6. 布尔型和布尔字面值常量)
- The New C++ -- 基本数据类型和字面值常量 (4. 字符型和字符字面值常量)
- The New C++ -- 基本数据类型和字面值常量 (7. 浮点型和浮点字面值常量)
- The New C++ -- 基本数据类型和字面值常量 (3. sizeof表达式和typeid表达式)
- The New C++ -- 基本数据类型和字面值常量 (5. 宽字符类型和宽字符字面值常量)
- The New C++ -- 基本数据类型和字面值常量 (8. 字符串字面值常量)
- 逆向基础第一篇:C++中基本数据类型的表现形式
- c++基本数据类型
- C++基础总结(1)--基本数据类型范围
- CPU位数、操作系统位数、计算机字长、C/C++基本数据类型长度
- C/C++基本数据类型
- C++基本数据类型解读
- C++中const修饰基本数据类型、指针、引用、对象
- C/C++基本数据类型所占字节数
- C++变量初始化与基本数据类型
- C++基本数据类型(转)
- C/C++ 基本数据类型之间的相互转换 int / char / string / vector windows与linux通用
- 《C++ Primer》笔记-C++ 基本数据类型