#include <QtCore/QCoreApplication>
#include <QScopedPointer>
#include <QSharedPointer>
#include <QWeakPointer>
#include <QDebug>
class MyClass
{
public:
MyClass():str("null")
{}
MyClass(const MyClass &rhs):str(rhs.str)
{}
MyClass &operator=(const MyClass &rhs)
{
if (this != &rhs)
str = rhs.str;
return *this;
}
~MyClass()
{
qDebug() << "delete";
}
QString str;
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "test qscopedptr";
{
QScopedPointer<MyClass> m(new MyClass);
}
qDebug() << "test qsharedptr";
QSharedPointer<MyClass> s(new MyClass);
QSharedPointer<MyClass> s1 = s;
QWeakPointer<MyClass> w = s;
qDebug() << w.data()->str;
s.clear();
qDebug() &
Qt 智能指针实例
最新推荐文章于 2023-05-24 21:30:23 发布