Jag har sett ett intressant uttryck som jag får inte huvudet runt vad resultatet blir.
Uttrycket var något i stil med
A = B + (int) + C;
Så en typecast har hamnat lite lustigt men A får "förväntat" resultat av B + C.
Resulterar (int) i någon operand(0?) eller vad händer?
A = B + (int)(+C);
+ tecknet före C är unary plus helt enkelt.
Jo, det sista plusset kan tas bort utan att påverka uttrycket. Man kan få rätt svårlästa uttryck i C om man leker lite med whitespace
T.ex. denna klassiker:
while (x --> 0) // x går mot 0 { ... }
Tack, misstänkte att det kunde läsas på något annat sätt.
Eller
while (0 <---- num) {} // springer mot 0 while (0 <-------- num) {} // expresståg mot 0 while (0 <---------------------------------------- num) {} // rymdraket mot 0
Kom-pa-TI-bilitet
Prylar säljes, köpes, bytes och skänkes