Mettendo da parte tutti i problemi di manutenibilità e di lettura, queste righe di codice possono generare un comportamento non definito?Utilizzo dell'operatore ternario per inizializzare una variabile di riferimento?
float a = 0, b = 0;
float& x = some_condition()? a : b;
x = 5;
cout << a << ", " << b;
potrebbe essere ancora più semplice: '(some_condition()? a: b) = 5; ' – Slava