c++ - 在运行时检测下溢/溢出错误?

标签 c++ visual-studio-2010

出于好奇,有没有办法在运行时检测数字的下溢/溢出错误?如果没有,为什么不呢?我知道这可能是预期的行为,但它仍然会有所帮助 如果有任何改变,我正在使用 Visual Studio 2010

编辑: 例如:

unsigned int a= 2;
unsigned int b= 3;
a -=b; //<- underflow

最佳答案

C++ 是一种相对轻量级的语言,因此不提供任何类型的自动运行时检查溢出/“下溢”。您的代码通常应该以不会发生此类事情的方式编写,并且在您处理外部输入的情况下,您需要使用专门为您保护的特定情况设计的代码来保护输入。

关于c++ - 在运行时检测下溢/溢出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8731482/

相关文章:

c++ - 性能如何取决于基础数据值

c++ - 我不想使用 std::copy...这是正确的 for 循环替代方案吗?

c++ - 使用两个条件迭代自定义对象的 vector

c++ - C++11 是否允许(不需要)释放/获取 volatile 关键字的语义

c++ - C中double **和double (*)[2]的区别

visual-studio-2010 - CMake:如何添加不是模块定义文件的 .def 文件

c# - 使用 Crystal Report 在表/网格中显示记录详细信息

C++ AMP 迭代具有不同维度的 array_views

c# - 如何测试通配符域逻辑

c# - 在 VS SETUP 项目中更改目标文件名