[ itf @ 21.03.2009. 09:48 ] @
evo nečeg zanimljivog pa ako itko zna zašto se ovo događa...

cout << false || true; // false!
cout << true || false; //true
[ X Files @ 21.03.2009. 14:21 ] @
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]
[ itf @ 24.03.2009. 14:21 ] @
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.
[ djoka_l @ 24.03.2009. 14:47 ] @
http://www.cplusplus.com/doc/tutorial/operators.html

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.
[ EArthquake @ 24.03.2009. 15:01 ] @
svi preklopljeni operatori , nezavisno od nacina preklapanja , zadrzavaju prioritet