QT智能指针

方法中初始化智能指针并返回

ClassA * createClassA()
{
    QScopedPointer pClassA(new ClassA());
//    return pClassA.data();  //返回将变成野指针
    return  pClassA.take(); //返回指针有效
}

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QScopedPointer p1(createClassA());
    p1->setText("hello");
    p1->show();

    return a.exec();
}

你可能感兴趣的