在什么情况下,需要共享智能指针而无法使用唯一指针?

What are situations when a shared smart pointer is needed and unique can't be used?

本文关键字:指针 唯一 在什么 共享 智能 情况下      更新时间:2023-10-16

似乎当两个指针都访问同一对象时,共享指针可能会跨线程有用。

但除此之外,我想不出有一次我需要共享指针而唯一指针无法解决问题。你能吗?

在什么情况下需要共享智能指针而无法使用唯一指针?

每次您需要共享所有权时。

这应该不常见,但有一些情况很突出,比如类似图的结构(包括循环(、一些异步编程模式、没有明确所有者的长寿命对象以及避免全局变量的愿望等。