포인터의 내용이 삭제되었는지 어떻게 확인할 수 있습니까? 나는이 같은 QPointer를 사용하는 경우 :QPointer를 사용하는 수정 된 방법입니까?
myClass::myClass(myStruct* p){
_p = p;//_p is a QPointer<myStruct>
}
myClass::function(){
if(_p) {_p->function();}
}
을 나는 마지막 A.function()는 _p-> 기능을 cuase합니다
myStruct* p = new myStruct();
myClass A(p);
delete p;
A.function();
가지고()를 호출하기 때문에 액세스 위반이 발생할 수? p를 삭제하면 _p는 어떻게됩니까?
확인 볼 수있는 방법이 없다'QSharedPointer'와'QWeakPointer' – dtech
그러나 QPointer의 문서가 삭제되면 0으로 캐스팅 될 것이라고? – Nyaruko
@ddriver 내가 너를 잘못 읽니? 'QObject' 소멸자는 그것을 가르키는'QPointer'를 모두 지 웁니다. – hyde