C++11 4.9 浮点积分转换 [conv.fpint]:
浮点类型的纯右值可以转换为整数类型的纯右值。转换截断;也就是说,小数部分被丢弃。如果截断的值不能在目标类型中表示,则行为未定义。
如果值为-0.0
,是否定义了行为?归结为“截断的值是否不能在目标类型中表示”。可以表示零。可以负零吗?在这种情况下,这两个零值是区分还是不区分?
C++11 4.9 浮点积分转换 [conv.fpint]:
浮点类型的纯右值可以转换为整数类型的纯右值。转换截断;也就是说,小数部分被丢弃。如果截断的值不能在目标类型中表示,则行为未定义。
如果值为-0.0
,是否定义了行为?归结为“截断的值是否不能在目标类型中表示”。可以表示零。可以负零吗?在这种情况下,这两个零值是区分还是不区分?