Consider this:
++iterator->some_value
Will the iterator be forwarded before some_value
is accessed?
According to cppreference increment and member access both have the same precedence of 2. Does the order in which they are listed matter? Or is this undefined - compiler specific?
Note that preincrement and postincrement have different precedences, so the code snippet you've posted doesn't quite match the explanatory text you've linked.
The preincrement operator has a lower precedence than the member access operator, so ++iterator->some_value
is the equivalent of ++(iterator->some_value)
.
If instead you had iterator->some_value++
where they both had the same precedence, then the left-to-right associativity comes into effect, and it would be processed as (iterator->some_value)++
.