1. ホーム
  2. c++

[解決済み] C++の "OR "演算子

2022-03-07 20:29:51

質問

これは何とかならないものでしょうか?

if((a || b) == 0) return 1;
return 0;

のように、aまたはbが0に等しい場合、...しかし、それは私のために動作していません。 私の本当のコードは、次のとおりです。

bool Circle2::contains(Line2 l) {
    if((p1.distanceFrom(l.p1) || p1.distanceFrom(l.p2)) <= r) {
        return 1;
    }
    return 0;
}

解決方法は?

完全な式を書く必要があります。

(a==0)||(b==0)

そして、2つ目のコードでは

if((p1.distanceFrom(l.p1)<= r) || (p1.distanceFrom(l.p2)<=r) )
    return 1;

もし、あなたが ((a || b) == 0) の論理和を意味します。 ab を0にすることはできません。

また、余談ですが if (BooleanExpression)return true; else return false パターンは、次のように短縮することができます。 return BooleanExpression;