Het gaat om de volgende code. Ik dacht dat a[0] en a[1] beide 0 zouden zijn, maar alleen a[0] is 0.
De post-increment operator wordt dus blijkbaar pas uitgevoerd na de volledige expressie.
Mijn vraag is nu, waarom?
Ik dacht dat de hele expressie (inclusief post-increment) tussen haakjes zou worden uitgevoerd voordat de tweede assignment wordt uitgevoerd.
C++:
1
2
3
| char a[2] = {1, 1}; char* w = a; *w++ = (*w++ = 0); |
De post-increment operator wordt dus blijkbaar pas uitgevoerd na de volledige expressie.
Mijn vraag is nu, waarom?
Ik dacht dat de hele expressie (inclusief post-increment) tussen haakjes zou worden uitgevoerd voordat de tweede assignment wordt uitgevoerd.