Bool + Vergleichsoperator = WERT ?



  • Lässt sich eigentlich auch ein Boolscher Wert mit Vergleichsoperator ausgeben lassen ? Schwer zu erklären... Also etwa so:

    int a = 10;
    int b = 12;
    bool Vielleicht; //  :D
    Vielleicht = (a == b);
    

    oder muss ich es so machen:

    bool Probe_Cubic(int Variable_A, int Variable_B, int Variable_C)
    {
        if ( Variable_A == Variable_B == Variable_C)
            return true
        else
            return false
    }
    
    int main()
    {
        bool FrageinCppForum = ProbeCubic(5,2,5);
        return 0;
    }
    

    Ich sehe darin zwar kaum ein Sinn aber wärs möglich ?
    btw: wozu gibts if ??? (rhetorisch)



  • Ja, das geht wunderbar.
    Der Vergleichsoperator liefert einen Wert zurück, den kannst du einer boolschen Variablen zuweisen.



  • cool,
    bringt das auch irgendwas ?
    (außer if(ZEUG) das ZEUG auf ZEU zu verkleinern 😃 )

    hmm was man in english nicht kennt sollt man nicht in english schreiben 😃



  • Vor allem empfinde ich es als übersichtlicher.
    Außerdem ist es natürlich einfach überflüssig extra eine Funktion aufzurufen die dann auch noch zwei if-Abfragen beinhaltet - wobei da der Compiler das meiste vermutlich eh wegoptimiert (Funktion inline).



  • Wobei noch anzumerken sei, dass im ersten Code imho ein Fehler versteckt ist:

    A == B == C
    
    wertet er aus zu:
    
    (A==B) == C
    
    // nehmen wir hier an A wäre != B
    
    false == C
    
    // C ist nicht 0, also ist das Ergebnis true
    

    MfG SideWinder


Log in to reply