Abuse Melding

Je hebt een klacht over de onderstaande posting:

15-08-2016, 15:34 door Erik van Straten

Voor de leesbaarheid (in de zin van begrijpelijkheid) en dus betrouwbaarheid van source code is het verstandig om niet te vertrouwen op de kennis van operator precedence van de initiële programmeur, reviewer, latere wijziger etc. en eventueel leed bij voorbaat uit te sluiten met precies voldoende ronde haken. Dan wordt het statement, volgens [1]: if ((a + b) < a) Aangezien je niet weet van welk types a en b zijn (het kunnen zelfs macro's zijn) noch hun waardes kent, zijn overflows, underflows en zelfs NaN's niet uit te sluiten (@Briolet: dus niet alleen integer overflows) en is "x86" overbodige informatie. Stel: char* a = "1"; char* b = "-1"; if ((a + b) < a) dan zal het antwoord vermoedelijk in veel gevallen "niet waar" opleveren ;-) maar volgens [2] moet je dit niet willen. Ik hou het op antwoord 5: mogelijk een compile time of een run time error en zo niet: geen flauw idee van de uitkomst. [1] http://en.cppreference.com/w/c/language/operator_precedence [2] ...

Beschrijf je klacht (Optioneel):

captcha