gpt4 book ai didi

c++ - shared_ptr 与 scoped_ptr

转载 作者:IT老高 更新时间:2023-10-28 12:32:44 25 4
gpt4 key购买 nike

scoped_ptr 不可复制,正在从范围中删除。所以它是一种受限的shared_ptr。因此,除了确实需要限制复制操作的情况外,shared_ptr 似乎更好用。因为有时您不知道是否需要创建对象的拷贝。所以问题是:除了上面提到的情况,我们是否认为shared_ptrscoped_ptr 更好(或推荐)使用。 scoped_ptr 是否比 shared_ptr 工作得更快,或者它有什么优势?

谢谢!

最佳答案

shared_ptrscoped_ptr 更重量级。它需要分配和释放一个引用计数对象以及托管对象,并处理线程安全的引用计数——在我工作的一个平台上,这是一个很大的开销。

我的建议(一般而言)是使用满足您需求的最简单的对象。如果您需要引用计数共享,请使用 shared_ptr;如果您只需要在完成单个引用后自动删除,请使用 scoped_ptr

关于c++ - shared_ptr 与 scoped_ptr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1770636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com