Ah, dato che è emerso il "vero" problema, correggo il titolo di conseguenza.
Amaro C++, il gusto pieno dell'undefined behavior.
Regole del Forum