gpt4 book ai didi

qt - QScopedPointer 与 boost::scoped_ptr [选择哪一个]

转载 作者:行者123 更新时间:2023-12-04 13:25:40 26 4
gpt4 key购买 nike

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

1. QScopedPointer<QObject> Vs boost::scoped_ptr<QObject>
2. QScopedPointer<QtContainer> Vs boost::scoped_ptr<QtContainer>
3. QScopedPointer::data() Vs boost::scoped_ptr::get()

最佳答案

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

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

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

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

关于qt - QScopedPointer 与 boost::scoped_ptr [选择哪一个],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7113137/

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