int x = 3*x; // x = 0
int y = y+1; // y = 1
Do the C++ specs mention that any variable definition involving a self-reference will have its recursive reference set to 0 for the scope of the assignment / initialization? I was genuinely surprised this even compiles.