gpt4 book ai didi

c++ - C++ 11 中 boost::scoped_ptr 的替代方案

转载 作者:可可西里 更新时间:2023-11-01 16:36:54 26 4
gpt4 key购买 nike

我们刚刚将编译器升级到支持 C++ 11 的 VC++ 2013。之前我们一直在使用来自 Boost 的 shared_ptr 和 scoped_ptr 类,但由于这是我们一直在使用的 Boost 类,我们正在寻找删除该依赖项。

据我所知,std::shared_ptrs 是 boost::shared_ptrs 的直接替代品,所以这(希望)很容易。

但是,Boost scoped_ptrs 的最佳替代品是什么(如果有的话)?会是 unique_ptr 吗?

(老实说,虽然我写了代码,但那是大约 10 年前的事了,我已经忘记了使用 scoped_ptrs 的目的是什么......也许我只是在“玩”Boost,但到目前为止正如我所看到的,在我检查过的情况下,普通指针可能会起作用。

最佳答案

是的,scoped_ptr 可以而且应该替换为 unique_ptr。它们代表相同的想法(唯一所有权),但 unique_ptr 做得更好,并允许通过移动语义转移所有权。 (scoped_ptr 没有,因为它在 C++98 中是不可能的)

关于c++ - C++ 11 中 boost::scoped_ptr 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21852612/

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