suggest i have a template function like following:
T a; // a is correctly initialized if T is a class with a default constructor
Pre-C++11, this was the simplest approximation:
T a = T();
But it requires
T be copyable (though the copy is certainly going to be elided).