首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QScopedPointer Vs boost::scoped_ptr [选择哪一个]

QScopedPointer Vs boost::scoped_ptr [选择哪一个]
EN

Stack Overflow用户
提问于 2011-08-19 03:39:08
回答 1查看 1K关注 0票数 2

如果让我在QScopedPointerboost::scoped_ptr之间进行选择,在以下情况下哪一个最好:

代码语言:javascript
复制
1. QScopedPointer<QObject> Vs boost::scoped_ptr<QObject>
2. QScopedPointer<QtContainer> Vs boost::scoped_ptr<QtContainer>
3. QScopedPointer::data() Vs boost::scoped_ptr::get()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-19 03:53:45

它们做的基本上是一样的事情。Qt版本似乎具有带着指针(QScopedPointer::take())潜逃的能力,这允许你将所有权转移给其他人。使用scoped_ptr不能做到这一点,但您可以将这两种类型互换。

boost::scoped_ptrQScopedPointer也是明确不可复制的。

QScopedPointer确实有一种机制,允许您向指针传递一个“删除器”。这实际上是给定类的公共静态成员,因此QScopedPointer仍然只是一个指针的大小。这确实意味着QScopedPointer的类型必须包括删除器的类型。

它们都被C++0x中的std::unqiue_ptr废弃了。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7113137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档