1、始化和赋值时转换
比如
int a=1;
long b=2147483647;
a=b;
上面的代码并不会有问题,。然而将a更改为float类型,将会出现错误。
需要注意的一种情况是:
把0赋值给bool类型变量,会被转换成False,非零的会被转换成True。
把字符串赋值给bool,是不可以。
但是反向可以,比如把False赋值给字符串变量,得到的是:"\u0000"
总之,尽量不要跨类型赋值,否则错误是很难避免的。
2、{}形式的转换
书中给的例子是:char c {66};
此行代码执行以后,C的数据是B。这个不难理解,在ASCII表中,十进制数据66,对应的正是字母B。
但是如果我们给10000这样的数据,超出了表的范围,将会报错。
我们得到了一个关于字符串宽度的报错。
3、表达式中的转换
先看如下代码:
short a=100;
short b=200;
short c=a+b;
表面上看