Need help understanding strange array syntax

后端 未结 3 1147
深忆病人
深忆病人 2021-01-29 02:42

I found this bit in a book and I don\'t get what it does:

int index = 1;
...
getArray() [index=2]++;

[index=2]++; looks strange to me,

3条回答
  •  孤独总比滥情好
    2021-01-29 03:14

    Let's break that code:

    getArray() [index=2]++;
    

    is equivalent to:

    int[] someArray = getArray();  // Assume that's an int[]
    index = 2;
    someArray[index]++;
    

    The last line is equivalent to:

    someArray[index] = someArray[index] + 1;
    

    If you remove that ++, then the 2nd expression is not a valid statement. It just becomes:

    getArray() [index];
    

    You have to assign that to some L-Value.

提交回复
热议问题