If I had the following two options, which would be more desirable or generally accepted. 1. Creating an object on the stack and returning it by value. 2. Creating an object on the heap, storing it in an auto ptr and returning the auto ptr.