[英]Using std::unique_ptr with standard containers
當我意識到C ++ 11添加了unique_ptr
時,我一直在尋找一種方法來做動態指針的安全向量和映射。 我研究了如何在Google上使用它們,但是在尋找細節方面卻沒有成功。 我需要知道的是以下內容:
unique_ptr
之間究竟有什么不同? unique_ptr
? 除了擦除迭代器之外,還有什么特殊的代碼嗎? unique_ptr
只是指針的包裝器,它在unique_ptr
被銷毀時刪除指針。 它沒有開銷(就像它替換的auto_ptr
模板一樣)。 unique_ptr
移動到容器中。 不同之處在於unique_ptr遵循移動語義。 此外,顧名思義,您無法復制它。
擦除std::vector<std::unique_ptr<T> >
的元素將有效刪除指針指向的任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.