a 的推荐用途是什么std::unique_ptr,具体在哪里、何时以及如何最好地使用它?
我发现:
我已经知道:
std::unique_ptr是在 C++11 中开发的,以替代std::auto_ptr- a
std::unique_ptr没有引用计数并且“拥有”它指向的对象 - 没有复制/分配
std::unique_ptr - 当我需要一个唯一的指针时,
std::unique_ptr是转到结构
我想知道的:
- 使用
std::unique_ptr比其他东西更可取的(除了唯一性)
吗?在这种情况下我能得到什么? - 如果有,在什么情况下,什么时候?
- 考虑到移动语义的需要,这是否会导致整体
std::unique_ptr不利
? - 如果
std::shared_ptr在几乎所有情况下都足以进行动态内存管理,为什么我可以随意使用std::unique_ptr(同样,
除了唯一性)?