當我的一位朋友解決在線評判問題時,我遇到了問題。當計算索引時數組超出範圍
他撰寫案例1(例如)有一個撥錯的答案,有一個由案件受理2.
int a[4];
a[ 2+6-5 ]; //undefined behavior? case 1
a[ 2+(6-5) ];//ok case 2
Accroding到C++的std§5.7.5
if a[ 2+6-5 ] == *(a + 2+6-5); //ub
if a[ 2+6-5 ] == *(a +(2+6-5)); //not ub
我應該如何解釋的情況下1?
我真的不理解這個問題,因爲兩種情況都是一樣的:'(2 + 6)-5 == 3 == 2+(6-5)'。你可以在[示例](http://stackoverflow.com/help/mcve)中使用它們來證明你認爲你看到的不同之處? – BoBTFish