C ++中if语句内部接口的对象

时间:2017-07-24 16:00:56

标签: c++ if-statement interface

你好,我有一个简单的问题。 由于我不太熟悉C ++而我现在正在查看一些代码,我想知道在类似于这个函数中发生了什么:

#include "SomeInterface.h"

class SomeClass {

public:
...

   void SomeFunction(...){

       if (interface) {   //What is asked here exactly?

           /*do something*/

       }

   }

/*...*/
protected:

SomeInterface* interface;
}

由于我来自Java,我想知道在if-bracket中提出了什么问题。 当变量属于bool类型时,我习惯于只能在if括号中放置一个孤独的变量名。但是因为这是一个自定义界面类型,我很困惑。

提前感谢您的回答。

1 个答案:

答案 0 :(得分:5)

由于interface是一个指针,所以

if (interface)

相当于

if (interface != nullptr)

指针可隐式转换为bool,其中nullptrfalse,其他任何内容都为true