最小宏观的奇怪行为
Strange behaviour of the min macro
本文关键字:宏观 更新时间:2023-10-16
当我执行以下代码时:
cout<<min(INT_MAX, INT_MAX+ INT_MAX);
我获得-2
作为输出。有人可以解释为什么吗?
输出不应该是INT_MAX
?
INT_MAX+ INT_MAX
调用不确定的行为,因为签名整数溢出。
C 标准:
如果在评估表达式期间,结果不是 在数学上定义或未在代表值的范围内 它的类型,行为是未定义的。
相关文章:
- MSVC中的宏观扩展问题
- C++宏观参数
- 为什么在一个地方需要双倍英镑,而在这个宏观上不需要其他地方?
- 我的宏观有点顽皮
- 如何使宏观上的任何容器都可以工作
- 悬挂if和宏观
- 在海湾合作委员会中加快宏观预处理的任何方法
- 打印宏观值而不知道宏的数量
- PVS Studio抱怨危险的宏观表达
- 使用宏观使用宏来明确实例化类成员函数
- 最小宏观的奇怪行为
- 算术表达式背景下的宏观扩展
- 具有多行字符串宏观的Getter/Setter生成
- GCC与Visual Studio宏观扩展
- 这些宏观定义的目的是什么
- 关于宏观用法的建议
- C 预处理器中的宏观危害
- putc 作为宏观 ic C++实现
- __COUNTER__宏观问题.不显示该值
- 跟踪宏观扩张