在什么情况下,需要共享智能指针而无法使用唯一指针?
What are situations when a shared smart pointer is needed and unique can't be used?
似乎当两个指针都访问同一对象时,共享指针可能会跨线程有用。
但除此之外,我想不出有一次我需要共享指针而唯一指针无法解决问题。你能吗?
在什么情况下需要共享智能指针而无法使用唯一指针?
每次您需要共享所有权时。
这应该不常见,但有一些情况很突出,比如类似图的结构(包括循环(、一些异步编程模式、没有明确所有者的长寿命对象以及避免全局变量的愿望等。
相关文章:
- 何时在引用或唯一指针上使用移动语义
- C++优先级队列,按对象的唯一指针的特定方法升序排列
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- 如何更改唯一指针向量的可见性
- 共享指针和具有自定义删除程序的唯一指针之间的语法差异背后的任何原因
- C++尝试深度复制唯一指针时出现内存访问冲突
- 使用 RTTI 克隆唯一指针的向量
- 为什么我无法创建唯一指针
- 如何将唯一指针的 std::vector 转换为原始指针的 std::span?
- 将唯一指针的指针传递给采用双指针的函数
- 在什么情况下,需要共享智能指针而无法使用唯一指针?
- C++唯一指针的向量
- 对带有唯一指针的 std::thread 使用类成员函数时出现编译错误
- 指向基类的唯一指针
- 添加要映射的对象的唯一指针
- 智能指针(唯一指针)和引用
- 唯一指针是否在堆或堆栈上分配内存?
- 尝试设置唯一指针布尔数组的值时BAD_ACCESS错误
- 使用唯一指针调用函数会使我的程序崩溃
- 智能指针(唯一指针)总是比普通指针更可取