我在C ++中定义了一个简单的结构mystruct
。我希望能够使用
mystruct a;
// do things to a
if(a) {
/* do things */
}
直接。有没有办法让我定义这个行为?
答案 0 :(得分:4)
我有办法定义这个行为吗?
是的,为bool
类型转换运算符提供重载:
class mystruct {
public:
explicit operator bool () const {return condition; } // This is the conversion operator
};
This answer包含更详细的信息。