http://doc.qt.io/qt-5/qpointer.html에 따르면 QPointer가 매우 유용합니다. 그러나 나는 다음과 같은 상황에서 비효율적 일 수 있습니다 발견 :멀티 스레드 프로그램의 QPointer
내가 세 번 라벨을 표시하거나 다른 뭔가를하고 싶은 경우에, 나는
if(label) label->show1();
if(label) label->show2();
if(label) label->show3();
대신 사용해야 if(label) { label->show1();label->show2();label->show3(); }
레이블이 손상되었을 수 있기 때문에 다른 스레드label->show1();
이후 r label->show2();.
같은 기능을 얻으려면 세 가지 ifs 이외의 아름다운 방법이 있습니까?
또 다른 질문은 if (label) 이후에 라벨이 삭제되면 if(label) label->show1();
이 여전히 잘못 되었습니까?
멀티 스레드 프로그램에서 경험이 없습니다. 어떤 도움을 주셔서 감사합니다. ;)
레이블은 if (label)와 label-> show1() 사이에서 삭제 될 수 있습니다. –