与笨拙的指针不同,我希望可以在函数中的堆栈上创建一个QSharedPointer,然后将其作为返回值返回以分配给另一个相同类型的QSharedPointer,对吗?通常,这样的指针将指向现在超出范围的内存,因此该指针无效。但是,如果希望保留另一个副本,则QSharedPointer将确保将其保留在内存中。它是否正确?

最佳答案

指针可以存在于堆栈中,但是它指向的对象必须位于堆中。 (请注意,普通指针以及QSharedPointerstd::shared_ptr同样适用)。

10-07 20:25