Alternative Operatorschreibweise (and/or/xor/...)



  • Es gibt ja diese alternative Operatorschreibweise

    if (cond1 and cond2 or cond3)
    // anstatt
    if (cond1 && cond2 || cond3)
    

    Ich finde die viel schlechter lesbar, nicht weil sie total unüblich sind, sondern auch weil sie sich schlecht vom restlichen Code abheben. Bringen es die überhaupt? Verwendet die sogar jemand von hier?

    :xmas2:



  • Ne, die bringt es nicht. Verwendet tut sie praktisch niemand, von coolen Kids wie Sone mal abgesehen.



  • m-house schrieb:

    von coolen Kids wie Sone mal abgesehen.

    Nä, ich auch nicht.
    Höchstens in Template-Gefrickel oder so, wo es schnell unübersichtlich wird. Aber nie in ganz normalen If -Statements.



  • Sone schrieb:

    Höchstens in Template-Gefrickel oder so, wo es schnell unübersichtlich wird.

    Beispiel?



  • Mein VS 2012 Will and und or nicht mal kompilieren.



  • alternativer schrieb:

    Sone schrieb:

    Höchstens in Template-Gefrickel oder so, wo es schnell unübersichtlich wird.

    Beispiel?

    Nein. Jetzt wo ich es überdenke auch nicht da.



  • Wofür gibt's die dann 😡



  • alternativer schrieb:

    Wofür gibt's die dann 😡

    Ich glaube, das ist einfach aus C übernommen, vgl. <ciso646> . Aber halt als Schlüsselwort.
    Dann müsste man mal die C-Programmierer fragen, wozu man das in C gebraucht hat.



  • Sone schrieb:

    Dann müsste man mal die C-Programmierer fragen, wozu man das in C gebraucht hat.

    Support fuer ISO 646. Frueher war das mit den Zeichensaetzen nicht so wie heute.



  • Sone schrieb:

    alternativer schrieb:

    Wofür gibt's die dann 😡

    Ich glaube, das ist einfach aus C übernommen, vgl. <ciso646> . Aber halt als Schlüsselwort.

    Komische Logik. Wenn man sie nur mehr oder weniger unwillig übernommen hätte, hätte man es bei dem Header belassen und nicht den Namensraum mit neuen Schlüsselwörtern verschmutzt.
    BTW sind das eigentlich keine Schlüsselwörter, sondern alternative Schreibweisen für dieselben Tokens. Das ist im Kontext der ODR wichtig, die von token-weise identischen Definitionen spricht.



  • Shade Of Mine schrieb:

    Support fuer ISO 646. Frueher war das mit den Zeichensaetzen nicht so wie heute.

    Dafür gibt es die Di- bzw. Trigraphsequenzen. && lässt sich auch in ISO 646 darstellen. Und die besagten Operatoren sind erst 2003 in den Standard hinzugekommen, und dann war das mit den Zeichensätzen schon eher so wie heute.

    @Sone: Die Kompatibilität hätte sich auch einfacher erreichen lassen. Das sehe ich wie Bashar.



  • alternativer schrieb:

    Shade Of Mine schrieb:

    Support fuer ISO 646. Frueher war das mit den Zeichensaetzen nicht so wie heute.

    Dafür gibt es die Di- bzw. Trigraphsequenzen. && lässt sich auch in ISO 646 darstellen. Und die besagten Operatoren sind erst 2003 in den Standard hinzugekommen, und dann war das mit den Zeichensätzen schon eher so wie heute.

    die iso646.h gab es schon laenger, aber du hast recht - erst 1995 ist sie in den Standard gekommen.

    && geht natuerlich mit iso646 aber zB | geht nicht.
    Natuerlich koennte man jetzt ??! verwenden - aber das ist auf dauer nicht lesbar.

    Deshalb wurde ein iso646 Header verwendet, der das sinnvoll moeglich gemacht hat. Wundert mich, dass er erst so spaet standardisiert wurde.


Anmelden zum Antworten