递增(++)和递减(--)运算符
递增和递减运算符有两种形式:前置版本和后置版本,经常在面试的基础题中出现。
前置版本:先将运算对象加1(或减1),然后将改变后的对象作为求值结果;
后置版本:也将运算对象加1(或减1),但是求值结果是运算对象改变之前的那个值得副本,我们通过下面的代码比较:
int i = 0; int j = 0; j = ++i; cout << "j="<<j <<"\t"<< "i="<<i<<endl;// j=1 i = 1 j = i++; cout << "j="<<j <<"\t"<< "i="<<i<<endl;// j=1 i = 2
除非必须,否则不用递增减运算符的后置版本
前置版本的递增减运算符避免了不必要的工作,它把值加1(或减1)后直接返回改变了的运算对象,而后置版本需要将原始值存储下来以便于返回这个未修改的内容。
如果不需要修改前的值,那么后置版本的操作就是一种浪费。