定义:对于变量在自增( ++i 或 i++ )或自减( --i 或 i-- )后表达式的值又没有没用到的情况下,需要确定到底是使用前置还是后置的自增自减。
优点:不考虑返回值的话,前置自增( ++i )通常要比后置自增( i++ )效率更高,因为后置的自增自减需要对表达式的值 i 进行一次拷贝, 如果 i 是迭代器或其他非数值类型, 拷贝的代价是比较大的。
缺点: C 语言中,当表达式的值没有使用时,传统的做法是使用后置自增,特别是在 for
循环中,有些人觉得后置自增更加易懂,因为这很像自然语言,主语( i )在谓语动词( ++ )前。
结论:对简单数值(非对象)来说,两种都无所谓,对迭代器和模板类型来说,要使用前置自增(自减)。