int j;
...
...
array[j + 1] = array[j--];
array[j + 1] = array[j--]
是否一定等价于array[j + 1] = array[j]; j--;
?
int j;
...
...
array[j + 1] = array[j--];
array[j + 1] = array[j--]
是否一定等价于array[j + 1] = array[j]; j--;
?
3 回答1.1k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
4 回答800 阅读
1 回答877 阅读
1 回答905 阅读
1 回答675 阅读
1 回答782 阅读
C++17之前是UB。C++17确定了顺序:赋值操作符的右侧操作数先序于左侧。所以左侧得到的是自减后的值。故而
array[j + 1] = array[j--];
一般等价于(并发例外)