定义
++i和i++都是C++中的自增运算符,它们的区别在于它们的行为和返回值。
-
++i是前置自增运算符,它会先将变量i的值加1,然后返回加1后的值。也就是说,++i会先执行自增操作,再使用自增后的值。
-
i++是后置自增运算符,它会先返回变量i的当前值,然后再将i的值加1。也就是说,i++会先使用当前值,再执行自增操作。
区别
1) 前置返回一个引用,后置返回一个对象
cpp
// ++i实现代码为:
int& operator++()
{
*this += 1;
return *this;
}
2) 前置不会产生临时对象,后置必须产生临时对象,临时对象会导致效率降低
cpp
//i++实现代码为:
int operator++(int)
{
int temp = *this;
++*this;
return temp;
}
THE END
暂无评论内容