簡單的問題,只是想澄清,使用get()
unique_ptr
就像得到一個弱指針,因爲它沒有責任,並可以留下懸掛當unique_ptr
被刪除。使用get()弱指針unique_ptr
2
A
回答
2
正確。如果你有一個正常的指針,這就是get()
返回的內容,那麼你有責任確保在對象的整個生命週期中只對它進行引用。
雖然它並不像一個弱指針。一個懸空的弱指針知道它懸空。一個普通的指針不知道。
0
是的,因爲get()只會向您發送關於此指針的引用,並且不會授予您對此指針的所有權。 因此,如果指針被刪除,「getted」資源將無法訪問,並且您的「getted」指針將不必被刪除。
相關問題
- 1. 使用雙向弱指針
- 2. std :: unique_ptr和指針指針
- 3. 弱引用或指針
- 4. 什麼是強指針和弱指針
- 5. std :: unique_ptr與數組指針
- 6. 弱指針是零塊
- 7. enable_shared_from_this - 空內部弱指針?
- 8. 塊和弱指針塊
- 9. 是std :: unique_ptr ABI兼容原始指針?
- 10. unique_ptr與期望原始指針的API?
- 11. 使用指針:指針指針指針
- 12. 如何處理弱指針和強指針?
- 13. 弱點指針爲什麼不能訪問底層指針?
- 14. 錯誤使用的unique_ptr與成員函數指針
- 15. 使用unique_ptr矢量的原始指針作爲排序的ID
- 16. 否則使用unique_ptr作爲所有權和原始指針?
- 17. C++ 11非擁有引用/指向unique_ptr的指針?
- 18. 弱/強參考指針關係
- 19. 如何序列化共享/弱指針?
- 20. unique_ptr自定義指針類型:* get()和operator *()給出不同的輸出
- 21. 爲什麼使用shared_ptr創建弱指針?
- 22. 弱指針NSData無法使用NSURLConnection讀取數據?
- 23. 何時在Android本地框架(AOSP)中使用弱指針(wp)
- 24. unique_ptr <T> .get()方法在使用原始指針分配時調用析構函數?
- 25. 使用指針的指針
- 26. 是否正在給一個unique_ptr指定一個正常指針?
- 27. 的unique_ptr和庫C API與指針的指針功能可按參數
- 28. 的unique_ptr和指針通過引用參數類型
- 29. unique_ptr應該用於類成員指針嗎?
- 30. 的unique_ptr不會調用析構函數釋放指針
只是爲了避免混淆:OP提到了一個「弱指針」。在這種情況下,可以參考C++ 11的'std :: weak_ptr'。正如你所說的,通過調用'std :: unique_ptr'上的'get',你肯定不會得到'std :: weak_ptr',只有一個普通的指針。 – user570500 2013-05-13 14:00:44
原始指針我會打電話給它 – dmayola 2015-02-24 11:15:58