没有climits库的溢出错误

时间:2018-09-07 07:02:18

标签: c++

我正在研究一个编程问题,有没有一种方法可以检查带符号的32位整数的溢出错误,而无需使用climits的INT_MIN和INT_MAX宏。

1 个答案:

答案 0 :(得分:2)

使用 any 技术无法检查溢出错误。这是因为签名的int溢出的行为在C ++中是 undefined

您可以 做的是编写可检测潜在溢出的抢先代码。该代码的性质取决于您正在执行的操作。但是,如果您想编写可移植的C ++,那么不使用std::numeric_limits<int>功能(取代INT_MININT_MAX)就很难做到这一点。