2013-05-13 149 views

回答

2

正確。如果你有一個正常的指針,這就是get()返回的內容,那麼你有責任確保在對象的整個生命週期中只對它進行引用。

雖然它並不像一個弱指針。一個懸空的弱指針知道它懸空。一個普通的指針不知道。

+3

只是爲了避免混淆:OP提到了一個「弱指針」。在這種情況下,可以參考C++ 11的'std :: weak_ptr'。正如你所說的,通過調用'std :: unique_ptr'上的'get',你肯定不會得到'std :: weak_ptr',只有一個普通的指針。 – user570500 2013-05-13 14:00:44

+0

原始指針我會打電話給它 – dmayola 2015-02-24 11:15:58

0

是的,因爲get()只會向您發送關於此指針的引用,並且不會授予您對此指針的所有權。 因此,如果指針被刪除,「getted」資源將無法訪問,並且您的「getted」指針將不必被刪除。