如果我将 double 转换为 int,但 double 的值超出范围,会发生什么情况?
可以说我做了这样的事情吗?
double d = double(INT_MIN) - 10000.0; int a = (int)d;
a 的值是多少?是未定义的吗?
恰恰。引用标准 4.9,“如果截断值无法在目标类型中表示,则行为未定义。”