c++内置类型
内置类型,由编译器规定,不在任何头文件中,分为三种主要类型:整型、浮点型和void。
void类型
void主要用于声明无返回值的函数、声明指向任意类型化数据的指针或用于以下类型的表达式:
- 表达式语句
- 逗号运算符的左操作值
- 条件运算符的第二或第三个操作数
第三种情况举例:
for(auto i : {1, 2, 3}){
void;
}
nullptr
c++中的空指针,可以被转化为任何指针类型,比NULL和0更加泛用。
布尔类型
布尔类型的值共有true和false两种,数值分别是1和0。布尔类型的大小根据不同的编译器有不同的大小,如在微软的MSVC编译器中,布尔类型的大小为1字节,和char一样大小。一般情况下,编译器认为数值为0为false,其他数值均为true。
字符类型
char,一字节,可以实现基本的字符集,也就是ASCII码和拓展。编译器认为signed char和unsigned char是不一样的。
wchar_t是c++为了国际化增加的字符类型,可以认为是为了支持unicode码。为了让编译器识别为wchar_t类型的字符,需要在其前面加L。如:
wchar_t utfstr[] = L"你好,世界!";
char8_t用于UTF-8字符集。
char16_t用于UTF-16字符集。
char32_t用于UTF-32字符集。
例:
auto c0 = 'A'; //char
auto c2 = L'A'; //wchar_t
auto c1 = u8'A'; //char8_t
auto c3 = u'A'; //char16_t
auto c4 = U'A'; //char32_t
c++的字符串支持以下写法:
char str[] = "\x0f" "five";
浮点类型
float32位,有23位有效数。
double64位,有52位有效数。
long double标准未规定大小,只说要大于等于double。
整数类型
int为默认的整数类型。
符号修饰符signed和unsigned确定变量可不可以储存负值。
大小修饰符short、long和long long确定int的宽度,int默认32位,short为16位。
指定了符号修饰符或大小修饰符后,int可以省略不写。
整数类型同义字
同一行下的编译器认为是同一类型:
-
shortshort intsigned short intsigned short -
unsigned shortunsigned short int -
intsignedsigned int -
unsigned intunsigned -
longlong intsigned longsigned long int -
unsigned longunsigned long int -
long longlong long intsigned long longsigned long long int -
unsigned long longunsigned long long int
内置类型的大小
1字节
bool,char, char8_t, unsigned char, signed char
2字节
char16_t, short, unsigned short, wchar_t
3字节
char32_t, float, int, unsigned int, long, unsigned long
4字节
double, long double, long long, unsigned long long
本文来自博客园,作者:{bvwvd},转载请注明原文链接:{https://www.cnblogs.com/bvwvd/}

浙公网安备 33010602011771号