Da bi bilo "true, true", pretpostavljam da su potrebne zagrade zbog prioriteta/grupisanja operatora << i ||
cout << (false || true); // true
cout << (true || false); //true
[Ovu poruku je menjao X Files dana 21.03.2009. u 15:34 GMT+1]
Da. To sam i ja vidio da je stvar u zagradama, ali mi je u najmanju ruku čudno da dobijem ovakvo što jer bi ipak on trebao evaluirati kompletan izraz prije ispisa rezultata.
Izraz a << b || c se računa kao (a << b) || c
Nema veze što u tvom primeru << nije LeftShift, ima isti prioritet kao da jeste.
Citat:
So if you want to write complicated expressions and you are not completely sure of the precedence levels, always include parentheses. It will also become a code easier to read.