我遇到了一个我无法自己回答的问题.此外,我没有在谷歌和这里找到答案.比如,我想在if子句中"检查对象的有效性",如下所示:
MyClass myObject;
// [some code, if any]
if (!myObject)
{
// [do something]
}
Run Code Online (Sandbox Code Playgroud)
我们MyClass这样定义:
class MyClass
{
public:
MyClass() { };
virtual ~MyClass() { };
bool operator!()
{
return !myBool;
};
operator bool()
{
return myBool;
};
private:
bool myBool = 0;
};
Run Code Online (Sandbox Code Playgroud)
我现在的问题是:在这个if子句中实际使用了哪一个重载运算符?无论哪种方式,结果显然都是一样的.