在C ++中结构是真或假的时要明确

时间:2016-11-01 18:35:52

标签: c++ if-statement struct

我在C ++中定义了一个简单的结构mystruct。我希望能够使用

mystruct a; 
// do things to a
if(a) { 
    /* do things */ 
} 

直接。有没有办法让我定义这个行为?

1 个答案:

答案 0 :(得分:4)

  

我有办法定义这个行为吗?

是的,为bool类型转换运算符提供重载:

class mystruct {
public:
  explicit operator bool () const {return condition; } // This is the conversion operator
};

This answer包含更详细的信息。