1 功能区别
简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。
而 a = ++i,相当于 i=i+1; a = i;先执行增1操作,再做表达式运算;
而 a = i++,相当于 a = i; i=i+1;先执行表达式操作,再做增1操作;
例如:
int i = 7;
printf( "%d\n ", --i * ++i); // 结果为49相当于:--i;
++i;
i*i;结果自然为49;
2 效率差别
i++的工作过程是这样的:用一个临时变量temp存放i的值,然后i增一,返回temp
++i的工作过程是这样的:i增一,返回i的引用
因此++i没有创建其他对象,从理论上讲,++i的速度要比i++要快
--也是一样的.
++i的工作过程是这样的:i增一,返回i的引用
因此++i没有创建其他对象,从理论上讲,++i的速度要比i++要快
--也是一样的.
本文详细解读了C++中三元运算符的使用方式及其效率差异,通过实例展示了如何正确应用这些运算符以提高代码效率。
597

被折叠的 条评论
为什么被折叠?



