- 1.从初始化/赋值语句谈起
- 2.类型详述
- 2.1.对象的类型
- 2.2.值(这里特指字面值)的类型
- 2.3.变量及其类型
- 2.4.隐式类型转换
另外注意:
- void也是一种类型,可以做函数的返回值,可以做函数的形参
- 因为int是最常用的一种类型,同理unsigned int也很常用,所以C++中简化了unsigned int的写法,即只写一个unsigned也表示unsigned int。
注意:初始化的时候的直接初始化和拷贝初始化区别如下。可以发现这个用法和Cherno讲的视频中对类的构造函数进行传参的时候,使用()运算符传参还是在构造函数的函数体内部传参是一样的。当时自己就有对C++内置类型传参的疑惑,这里终于解开了!
// 1.拷贝初始化 int x = 10; // 把字面量拷贝给变量x,进行初始化 // 2.直接初始化 int x(10); // 用字面量10直接对x进行初始化2.4.隐式类型转换
// 1.低宽度的向高宽度的转换不会损失精度,繁殖会损失精度。 int x = 1.3; //; double -> int float y = 1.3; //; double -> float // 2.有符号给无符号赋值 unsigned int z = -1; // 会变成unsigned的最大值-1,因为相当于溢出 // 3.数值进行比较的时候的隐式转换 int a = -1; unsigned int b = 3; //; 这里隐式类型转换会把有符号数全部转成无符号数,所以结果就是a = max(unsigned) - 1, 从而变成a > b的错误结果 bool res = (a < b);



