调用deleteLater()后立即初始化指针

时间:2012-02-25 17:56:20

标签: qt pointers qt4

调用deleteLater()后立即初始化Qt4指针是否安全?即下一个代码安全吗?

QLabel *label = new QLabel("Text");
// doing smth
label->deleteLater();
label = new QLabel("Other text");

1 个答案:

答案 0 :(得分:5)

根据the documentation(欢迎您将来咨询自己),您的代码完全没问题。但请注意,您的问题是错误的,因为您不是第二次“初始化”label;你只是分配

分配后,label只指向一个完全不同的新对象,原始对象已注册为最终删除,所以一切都很好。