Post increment and decrement

welkam via Digitalmars-d digitalmars-d at puremagic.com
Wed Mar 11 10:23:13 PDT 2015


Observation Nr. 1
People prefer to write var++ instead of ++var.

Observation Nr. 2
Because of observation Nr. 1 and other reasons compilers became 
good at removing code that is not needed making var++ and ++var 
to produce the same code if returned value is not used.

Observation Nr. 3
Because of observation Nr. 2 more people use var++ in place where 
they really only need ++var.

Observation Nr. 4
Because of observation Nr. 3 people learning to program may 
mistakenly learn that var++ is just incrementing. (I am included 
in that list)

Observation Nr. 5
Because of observation Nr. 4 people can write slower than 
necessary code for classes with overloaded operator or even get 
bugs.

Because of all this why not make only one increment/decrement 
operator and have post increment/decrement to be called by 
template name, because it is a template?

template post_inc(T) {
auto tmp = T;
T++;
return tmp;
}


More information about the Digitalmars-d mailing list