blu*_*kin 2 qt boost qscopedpointer
如果我可以选择QScopedPointer和之间做出选择boost::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()
Run Code Online (Sandbox Code Playgroud)
他们都做了基本相同的事情.Qt版本似乎具有使用指针(QScopedPointer::take())潜逃的能力,这允许您将所有权转移给其他人.你不能这样做scoped_ptr,但你可以交换这两种.
boost::scoped_ptr并且QScopedPointer也是明确不可复制的.
QScopedPointer确实有一种机制,允许您将"删除"传递给指针.这实际上是给定类的公共静态成员,因此QScopedPointer仍然只是指针的大小.它确实意味着QScopedPointer必须包含删除者类型的类型.
它们都std::unqiue_ptr在C++ 0x中被淘汰了.
| 归档时间: |
|
| 查看次数: |
1022 次 |
| 最近记录: |