[英]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.