Non ho capito, cos'è che non sai fare dell'ultima soluzione che hai proposto?
Amaro C++, il gusto pieno dell'undefined behavior.
Regole del Forum