i am at the opposite side, i encourage it for clear semantic on locals ( even conditional initialization on a const variable is possible with lambda now ) and against it for pass by value arguments as it can force the compiler to be less optimal in the code generated.