C ++标准对缩小从double到int的转换有什么保证?

时间:2016-01-04 18:58:54

标签: c++ casting standards narrowing

C ++标准对缩小从double到int类型的转换有什么保证? 是否与Q31328190中解释的Java相同:

1 个答案:

答案 0 :(得分:5)

不,它与Java不同。如果“截断小数部分”的数学结果不能用目标类型表示,则行为未定义。

从4.9 [conv.fpint] / 1(“浮动积分转换”):

  

浮点类型的prvalue可以转换为整数类型的prvalue。转换截断;也就是说,丢弃小数部分。如果截断的值无法在目标类型中表示,则行为未定义。