There's no way to default-initialise, rather than value-initialise, a temporary. While the expression type()
creates a value-initialised temporary, a type name alone is not a valid expression.
However, for any type (like this one) that declares a default constructor, default-initialisation and value-initialisation are equivalent; there is no zero-initialisation before a non-implicit constructor is called.