根据http://doc.qt.io/qt-5/qpointer.html,QPointer 非常有用。但我发现它在以下情况下可能效率低下:
如果我想显示标签三次或做其他事情,我必须使用
if(label) label->show1();
if(label) label->show2();
if(label) label->show3();
代替
if(label) { label->show1();label->show2();label->show3(); }
只是因为标签可能会在之后的另一个线程中label->show1();
被销毁或label->show2();.
除了三个 if 之外,还有其他漂亮的方法来获得相同的功能吗?
另一个问题是,当标签在 if(label) 之后被销毁时,if(label) label->show1();
仍然是错误的吗?
我没有多线程程序的经验。任何帮助表示赞赏。;)