(!m_qpointer)
возвращает истину при удалении объекта он указывает на, из-за этого оператора, определенного в qpointer.h
:
inline operator T*() const
{ return static_cast<T*>(const_cast<QObject*>(o)); }
возвращает указатель Охранна. Если он был удален, он будет равен нулю.
isNull()
возвращает истину, если указатель Охранна является нулевым:
inline bool isNull() const
{ return !o; }
Теперь я не уверен, что ты имеешь в виду проверить значение QPointer, и это не NULL. Почему это должно быть null? Объект QPointer
все равно должен быть допустимым объектом даже после удаления указателя, который он защищает.
«Когда я удаляю объект, на который указывает QPointer,« да, вы удаляете объект, а не указатель. – Zen
---> Объект, теперь удалить Object: ----> MemoryAddressOfObject, поскольку вы можете видеть, что указатель все еще существует и указывает на тот же адрес, но объект больше недействителен. –