【发布时间】:2011-11-23 04:51:52
【问题描述】:
如何访问容器的 unique_ptr 元素(通过迭代器)而不剥夺容器的所有权?当一个人获得容器中元素的迭代器时,元素所有权仍然在容器中吗?当一个人取消对迭代器的引用以获取对 unique_ptr 的访问权时怎么样?这会执行 unique_ptr 的隐式移动吗?
我发现当我需要在容器中存储元素(而不是按值)时,我经常使用 shared_ptr,即使容器在概念上拥有元素并且其他代码只是希望操纵容器中的元素,因为我'我害怕在没有所有权的情况下无法实际访问容器中的 unique_ptr 元素。
有什么见解吗?
【问题讨论】:
标签: c++ iterator containers unique-ptr