Using ternary operator to initialize a reference variable?
问题 Putting all the maintainability and reading issues aside, can these lines of code generate undefined behavior? float a = 0, b = 0; float& x = some_condition()? a : b; x = 5; cout << a << ", " << b; 回答1: No, it's just fine. It would not create undefined behavior in this code. You will just change value of a or b to 5, according to condition. 回答2: This is absolutely fine, as long as both sides of the conditional are expressions that can be used to initialize a reference (e.g. variables, pointer