混合表达式与类型转换
2.11 混合表达式与类型转换表达式可以包含不同类型的操作数。例如,可以定义一个变量来存储鱼的数量,如下:
unsigned int fish_count {}; // Number of fish
鱼的数量是整数,因此这是有效的。同样,一英尺的英寸数也是整数,可以定义如下变量:
const unsigned int inches_per_foot {12};
尽管变量类型不同,计算依然可以进行,例如:
fish_length /= inches_per_foot; // Convert to feet
double pond_area {fish_count * fish_length * fish_factor};
二元算术运算要求两个操作数的类型相同。如果类型不同,编译器必须将其中一个操作数转换为另一个操作数的类型,这称为隐式转换。具体来说,编译器会将值域较小的变量类型转换为另一个变量的类型。在第一条语句中,fish_length
是 double
类型。double
类型的值域比 unsigned int
类型大,因此编译器将 inches_per_foot
的值转换为 double
类型以完成除法操作。在第二条语句中,fish_count
5.22MB
文件大小:
评论区