There is little wrong with the syntax you use, except that it is not valid C++. Perhaps the designers of the language did not want there to be ambiguity if an object was initialized both as you suggest and in the initializer list of a constructor. Or perhaps they simply did not think of that syntax.
But an object is initialized when you call it's constructor. In this way different objects can be initialized differently, depending on constructor arguments, and each instance has it's own copy of the variables.