C++内置类型转换规则主要包括以下几种:
整数提升(Integer Promotion):在表达式中,如果既有整型又有浮点型,那么整型会被自动转换为浮点型。例如,当整数和浮点数相加时,整数会被转换为浮点数。
浮点数提升(Floating Point Promotion):在表达式中,如果既有整型又有浮点型,那么浮点型会被自动提升为整数类型,整数位数为浮点数的位数。例如,当整型被赋值给浮点数时,整数值会被转换为浮点数。
隐式类型转换(Implicit Type Conversion):C++支持隐式类型转换,包括:
显式类型转换(Explicit Type Conversion):C++支持显式类型转换,包括:
int
到float
。const int
转换为int
。int*
转换为char*
。类型转换运算符(Type Conversion Operators):C++支持自定义类型转换运算符,例如将一个类转换为另一个类。这些运算符可以是隐式的或显式的。