如果我将一个double转换为int会发生什么,但double的值超出范围?

Rol*_*ien 5 c++ casting

如果我将一个double转换为int会发生什么,但double的值超出范围?

让我说我做这样的事情?

double d = double(INT_MIN) - 10000.0;
int a = (int)d;
Run Code Online (Sandbox Code Playgroud)

什么是a的价值?这是不确定的?

Dav*_*ley 19

正是.引用标准4.9,"如果截断值无法在目标类型中表示,则行为未定义."