C++ und "and"



  • Swordfish schrieb:

    Weils unüblich ist und beim Lesen stört.

    Das sehe ich anders. Ich nehme die neuen Wörter und finde den Code viel viel besser lesbar dadurch.
    Probiers doch mal ein paar Wochen aus.


  • Mod

    EOP schrieb:

    Mir ging es erst mal um ungehighlighteten Text.

    Klar sticht && da heraus, aber die Lesbarkeit von ungehillightetem Text ist völlig uninteressant.

    Übrigens wird in ML andalso und orelse bereitgestellt. Und nach etwas Eingewöhnung finde ich das gar nicht verkehrt.



  • Arcoth schrieb:

    Übrigens wird in ML andalso und orelse bereitgestellt. Und nach etwas Eingewöhnung finde ich das gar nicht verkehrt.

    Haben alle sehr guten Sprachen. https://msdn.microsoft.com/de-de/library/cb8x3kfz.aspx
    Aber ich verstehe nicht, warum. Wann brauche ich schon mal ein and oder or, was nicht abkürzen darf? Doch soo selten, daß ich dann auch mal per Hand aussreiben kann (oder & | oder + * oder bauen inline bool andf(bool a,bool b))
    Oder willste dem and das Abkürzen und die Ausführungsreihenfolge auf freiwilliger Basis erlauben, um dem Optimierer weiter zu helfen?


  • Mod

    volkard schrieb:

    Aber ich verstehe nicht, warum. Wann brauche ich schon mal ein and oder or, was nicht abkürzen darf? Doch soo selten, daß ich dann auch mal per Hand aussreiben kann (oder & | oder + * oder bauen inline bool andf(bool a,bool b)) Oder willste dem and das Abkürzen und die Ausführungsreihenfolge auf freiwilliger Basis erlauben, um dem Optimierer weiter zu helfen?

    Hä?



  • Was findest Du an andalso gut?


  • Mod

    Was findest du daran schlecht?



  • Was macht denn andalso was and nicht macht? Ich kenne es nicht.



  • @EOP
    And in VB ist wie & in C#.
    D.h. man kann es zwar auch für bools verwenden (und das Ergebnis ist dann wieder ein bool), aber es macht kein short-circuiting.

    AndAlso in VB ist wie && in C#.
    D.h. man kann es nur für bools verwenden und es macht short-circuiting.

    Was andalso in ML macht weiss ich nicht. Nachdem ML funktional ist hätte ich gedacht dass die Unterscheidung mit vs. ohne short-circuiting da nicht so wichtig ist.



  • Danke für die Erklärung.


  • Mod

    hustbaer schrieb:

    Nachdem ML funktional ist hätte ich gedacht dass die Unterscheidung mit vs. ohne short-circuiting da nicht so wichtig ist.

    Doch. i <> 0 andalso j/i = 2 . Und andalso ist natürlich ein logisches Und (bitweises Und wäre in derart abstrakten Sprachen wohl eher fehl am Platz).



  • Danke.
    Naheliegend eigentlich.
    Sieht man mal wie wenig weit ich denke wenn mich 'was nur so am Rande interessiert 🕶



  • Arcoth schrieb:

    i <> 0 andalso j/i = 2 . Und andalso ist natürlich ein logisches Und (bitweises Und wäre in derart abstrakten Sprachen wohl eher fehl am Platz).

    Also ist and bitweise und andalso logisch. Gut.
    Stellt sich mir aber immernoch die Frage wieso C/C++ das benötigen sollte.
    Ich bin schreibfaul, mir reichen & and &&.


Anmelden zum Antworten