I\'m currently working on some quite old C++ code and often find things like
int i;
i = 42;
or
Object* someObject = NULL;
someO
Object someObject;
someObject = getTheObject();
This uses the assignment operator.
Object someObject = getTheObject();
This uses the copy constructor.
Apart from that, your suggested changes are equivalent, and you should implement them. The copy ctor/assignment operator difference is expected to produce the same result, this is not enforced by the language though.
I see no valid reason to split up declaration and assignment like the original code does - even though for all practical purposes it doesn't introduce overhead (except for the object)