sách gpt4 ai đã đi

Triển khai lock()

In lại Tác giả: Space Dog 更新时间:2023-10-29 21:13:10 30 4
mua khóa gpt4 Nike

根据 boost :

To access the object, a weak_ptr can be converted to a shared_ptr using the shared_ptr constructor or the member function lock.

同样,来自 boost:

shared_ptr lock() const;

//Returns: expired()? shared_ptr(): shared_ptr(*this).

据我了解,返回shared_ptr(*this)意味着创建一个引用计数为 1 的新 shared_ptr;而这绝对不是我们想要的。所以可能我没有理解正确。有人会解释吗?谢谢!

1 Câu trả lời

不,这实际上是 shared_ptr 的要点 - 复制的实例将指向相同的底层数据并增加两个实例的引用计数。

这意味着shared_ptr(*this)将创建一个额外的 shared_ptr指向相同数据的实例并将增加两者的引用计数 cái này和新实例。


实际代码中其实更复杂,如原文shared_ptrvượt qua weak_ptr 访问数据实例,但实际上是原始的 shared_ptr数据在最后共享(共享引用计数在特定 shared_ptr 对象的所有现有拷贝中增加)。

关于c++ - 锁()的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45328184/

30 4 0
Bài viết được đề xuất: c++ - 不是默认析构函数导致不完整的类型错误
Bài viết được đề xuất: python - PyQt QListWidget 自定义项
Bài viết được đề xuất: c# - 使用对象
Bài viết được đề xuất: python - 如何褪色
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com