前言:
在 C++ 中,++i 和 i++ 都是用于对变量进行自增操作的语法,其中++i (前置自增)先对变量进行自增操作,而后返回自增后的值,而 i++(后置自增)先返回变量的值,而后再对变量进行自增操作。
特别强调:++i (前置自增)不会产⽣临时对象, i++(后置自增)必须产⽣临时对象,临时对象会导致效率降低
1、 ++i(前置自增):
++i 的执行:
- 先对变量进行自增操作,然后返回自增后的值。
- 自增操作是立即执行的,即在当前表达式中。
- 返回的是自增后的值。
++i 的实现:
int& int::operator++ (){
*this +=1;
return *this;
}
示例代码:
int i = 5;
int a = ++i;
// i 的值变为 6,a 的值也是 6
2、 i++(后置自增):
i++ 的执行:
- 先返回变量的值,然后再对变量进行自增操作。
- 自增操作是在表达式结束后执行的。
- 返回的是自增前的值。
i++ 的实现:
const int int::operator(int){
int oldValue = *this;
++(*this);
return oldValue;
}
示例代码:
int i = 5;
int a = i++;
// i 的值变为 6,a 的值是 5
本文详细解释了C++中的前置自增(++i)和后置自增(i++)操作的区别,前者在表达式中立即执行并返回自增后的值,效率更高;后者先返回原值再自增,可能产生临时对象,影响性能。
2847

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



