amp*_*awd 5 c++ operator-precedence operator-keyword
C++在链式乘法中的作用是什么?
int a, b, c, d;
// set values
int m = a*b*c*d;
Run Code Online (Sandbox Code Playgroud)
Ale*_*exD 13
运算符*具有从左到右的关联性:
int m = ((a * b) * c) * d;
Run Code Online (Sandbox Code Playgroud)
虽然在数学中它并不重要(乘法是关联的),但在C和C++的情况下,我们可能有或没有溢出,具体取决于顺序.
0 * INT_MAX * INT_MAX // 0
INT_MAX * INT_MAX * 0 // overflow
Run Code Online (Sandbox Code Playgroud)
如果我们考虑浮点类型或运算符重载,事情会变得更加复杂.查看@delnan和@melpomene的评论.
| 归档时间: |
|
| 查看次数: |
1315 次 |
| 最近记录: |