RFC on SlidingSplitter Range
Phil via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Oct 3 13:58:57 PDT 2014
>
> Is prefix ++ preferred in D because of some specific reason? I
> recall it, for some containers/iterators, gives smaller/faster
> codegen in C++?
I assume the reason is the same as in C++. As users can provide
their own implementations of pre and postfix incrementing, the
compiler can't assume that x++ always means "copy x then
increment x and return the copy". It could have arbitrary side
effects. Therefore for user defined types x++ can't be replaced
with ++x by the compiler even if you're not using the return
value. The compiler _can_ do this for primitive types, but as
monarch_dodra says, if you get in the habit of using ++x unless
you explicitly need x++ then you're never going to suffer and can
sometimes get a speed win.
More information about the Digitalmars-d-learn
mailing list