为了图(zhuang)谱(bi),我
又要开始写博客啦,这次标题是数据类型,有点琐碎的东西,尽量写吧
算数类型(C++ Primer 中文版5th)
类型 | 含义 | 最小尺寸 |
---|---|---|
bool | 布尔类型 | 未定义 |
char | 字符 | 8位 |
wchar_t | 宽字符 | 16位 |
char16_t | Unicode字符 | 16位 |
char32_t | Unicode字符 | 32位 |
short | 短整型 | 16位 |
int | 整型 | 16位 |
long | 长整型 | 32位 |
long long | 长整型 | 64位 |
float | 单精度浮点数 | 6位有效数字 |
double | 双精度浮点数 | 10位有效数字 |
long double | 扩展精度浮点数 | 10位有效数字 |
赋给无符号类型一个超出它范围的值时,结果是初始值对无符号类型表示数值总数取余后的余数。
赋给带符号类型一个超出它范围的值时,结果是未定义的。
字面值会转换成能容纳它的与它类型符合度最好的类型(自我理解)。
特别小心带符号数对无符号数的转换,比如下面的代码:
unsigned int u=10;
int i=10;
std::cout<<i+i<<std::endl;//输出-84
std::cout<<u+i<<std::endl;//如果int占32位,输出4294967264 0x0A+0xFFFFFFD6
复合类型
指针和引用,因为在声明时,需要同时声明指向(引用)的类型,所以叫复合类型,要是这么说的话,那么数组说不定也是(我瞎猜的,哈哈)。关于指针的声明这里就不贴代码了,毕竟我都会- -
自定义类型
类和结构体,这里值得注意的也就一个定义的最后要加分号。
class fuck{
//contents
};