I have the following code:
Foo a;
if (some_fairly_long_condition) {
   a = complicated_expression_to_make_foo_1();
} else {
   a = complicated_expression_to_make_foo_2();
}
I have two issues with this:
- ais a- constand should be declared so
- the "empty" constructor, Foo()is called for no reason (maybe this is optimised away?)
One way to fix it is by using the ternary operator:
const Foo a = some_fairly_long_condition?
      complicated_expression_to_make_foo_1():
      complicated_expression_to_make_foo_2();
Is this good practice? How do you go about it?
 
    