Was bedeutet ? :

Der Unterschied ist, daß "if" eine Anweisung und "?:" ein dreistelliger Operator ist. Das wird besonders auffällig wenn man Konstanten deklariert. Mit der "if" Anweisung kann man nicht sinnvoll Konstanten deklarieren mit "?:" schon. Der Operator ist außerdem gut lesbar wenn man das Idiom kapiert hat und vernünftig einrückt.

Lighthouses | Blinkenlight liest sich mit "?" deutlich besser als mit "if".

Und hier ein Beispiel wo ich ausnutze, daß "?" zur Compilezeit ausgewertet werden kann:

Allerdings könnte man beim letztgenannten Beispiel auch geschickter Einrücken :wink: