// returns dead pointer (obj dies when leaving function) QObject* function() { QObject obj; return &obj; } // returns valid pointer (the return value has to be "delete"d) QObject* function() { return new QObject; }