Es ist nicht im Standard überhaupt .
Was Sie beobachten, ist eine GCC-Erweiterung: Ссылка
Wenn Sie es weglassen, wird der Wert vor der kontextuellen Konvertierung in bool
vom ersten Operanden übernommen.
Der Wert für die Erweiterungen liegt darin, dass sich die Nebenwirkungen nicht wiederholen und die Größe der Quellcodes reduziert wird.
Tags und Links c++ gcc clang conditional-operator ternary-operator