转换为浮点类型或从浮点类型转换时溢出
如果,在转换期间:
- 整数类型到浮点类型,
- 浮点类型为整数类型,或
- 浮点类型到较短的浮点类型,
源值超出了可以在目标类型中表示的值范围,结果是未定义的行为。例:
double x = 1e100;
int y = x; // int probably cannot hold numbers that large, so this is UB
如果,在转换期间:
源值超出了可以在目标类型中表示的值范围,结果是未定义的行为。例:
double x = 1e100;
int y = x; // int probably cannot hold numbers that large, so this is UB