qt-pointer

QScopedPointer
QScopedArrayPointer

QScopedArrayPointer<unsigned char> buf_ptr(new unsigned char[RECV_BUF_MAX_SIZE]);

QSharedPointer

Qt内存自动释放有两个前提条件:
1. 必须是QObject的派生类
2. 必须指定了parent对象
即:Qt 中 父亲被删除的时候会自动销毁他的孩子。 所以。如果New出来的并且没有父亲。那么则需要手动删除它

QDialog 不能用 QSharedPointer 因为

MyDialog* d = new MyDialog(this);
d->exec();
ptrToSharedObj = d->objToShare();
// don't delete d explicitly, the QObject hierarchy will take care of that