在Qt文档中,我们阅读:
bool QSharedPointer::operator! () const
Returns true if this object is null.
This function is suitable for use in if-constructs, like:
if (!sharedptr) { ... }
和
bool QSharedPointer::isNull () const
Returns true if this object is holding a reference to a null pointer.
这两个功能有什么区别?很明显,什么是对空指针的引用,但这意味着什么
是什么决定
QSharedPointer
是否为空?这些函数如何对应QSharedPointer::data() != null
? 最佳答案
从QSharedPointer
类的Qt源:
inline bool operator !() const { return isNull(); }
这证实了@JoachimPileborg在他的评论中所说的-
isNull()
函数和operator!()
是等效的。关于c++ - QSharedPointer::isNull()和operator!()之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19925693/