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,
Of course it will be invalid, you're not doing anything with it.
getArray() [index=2]++;
For demonstration i will switch getArray()
with myArray
which has { 100, 200, 300, 400 }
.
Than it's equals to:
myArray[2]++;
myArray[2]
will now output: 301
And index
will be: 2
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.
getArray()
must return an array of numbers (let's say int
s), so getArray() [index=2]++;
dissected:
int index = 2;
int[] array = getArray();
array[index] = array[index] + 1;