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()
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()
どちらも基本的に同じことをします。QScopedPointer::take()
Qt バージョンには、所有権を他の人に譲渡できるポインター ( ) を使用して放棄する機能があるようです。ではできませんがscoped_ptr
、両方の種類を交換できます。
boost::scoped_ptr
また、QScopedPointer
明示的にコピー不可です。
QScopedPointer
ポインターに「deleter」を渡すことができるメカニズムがあります。これは事実上、指定されたクラスの public static メンバーであるためQScopedPointer
、ポインターのサイズにすぎません。のタイプにQScopedPointer
は、デリータのタイプが含まれている必要があります。
どちらもstd::unqiue_ptr
C++0x で廃止されました。