An expression with two or more operators is a compound expression. In a compound expression, the way in which the operands are grouped to the operators may determine the result of the overall expression.
Precedence and associativity determine how the operands are grouped.
Precedence says that ++ has higher precedence than *. That means that iter++ is grouped first. The operand of *, therefore, is the result of applying the increment operator to iter.
Associativity specifies how to group operators at the same precedence level.