Totally agree with others: keep variables as local as possible.
This is a typical example of premature optimization. Object creation in C++ is not per se a costly operation, even in the presence of user-defined constructors. What really happens behind the scenes largely depends on the context. Even in languages where there
is overhead (most mainstream languages have a GC and objects are created through dynamic allocation), people don't refrain from using objects because they fear the performance hit
Only start worrying about such micro-optimizations once you can prove they matter.
It would of course be a different story if the object being created were more heavy-weight (e.g. of a resource class that performs loading).