+= in C
Chris Torek
chris at mimsy.UUCP
Fri Jul 1 17:37:02 AEST 1988
In article <2314 at ncr-sd.SanDiego.NCR.COM> steves at ncr-sd.SanDiego.NCR.COM
(Steve Schlesinger) writes:
>When optimized, yes they [a=a+b and a+=b] are the same. ... consider
> a[i][j] = a[i][j] + b
>vs.
> a[i][j] += b
>
>In the second case the address a[i][j] is computed only once and reused.
>This is faster both at compilation and execution times.
>
>An optimizer would convert the first to the second.
(unless, of course, one or more of *a, i, and j have the `volatile'
attribute) [was this a good time not to post :-) ?]
Far more important than the `optimisation' is readability. If I
mean add 3 to something, I should be able to write `add 3 to <...>'.
I can do it in COBOL; I ought to be able to do it in any supposedly
superiour language.
Quick, are both sides the same?:
p->a[l+o[p->b]] = p->a[1+o[p->b]] + 3;
--
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163)
Domain: chris at mimsy.umd.edu Path: uunet!mimsy!chris
More information about the Comp.lang.c
mailing list