Item 21: Don't try to return a reference when you must return an object(Effective C++)
Never return a pointer or reference to a local stack object, a reference to a heap-allocated object, or a pointer or reference to a local static object if there is a chance that more than one such object will be needed.