++i为啥比i++好

++i 的实现

++i 表示先将 i 的值加 1,再使用增加后的值。

前置(++i)返回引用且不产生临时对象

//++i 以int为例
int& operator++(){
	*this += 1;
	return this;
}

i++ 的实现

i++ 表示使用 i 的值,然后将 i 的值加 1。

后置(i++)返回对象且产生临时对象

//i++	以int为例
int operator++(int){
	int temp = *this;
	++*this;
	return temp;
}

如果只需要获取自增前或自增后的值,建议使用 ++i 运算符;如果需要使用自增前的值,并且不关心自增后的值,则可以使用 i++ 运算符。

你可能感兴趣的:(c++基础语法,算法,c++)