まったく関係ないが、C++ の場合、
bool operator!() const をクラスに定義して、
if( !!obj ) と使うことがある。