前言

1
for (int i = 0; i < 10; ++i)

以前看别人这么写都不太在意,今天偶然瞥到有说++ii++效率更高

运算符重载

于是我去找了一下两种运算重载方法:

(1)i++

1
2
3
4
5
6
7
//后置++运算符重载
Num& operator ++(int n) // int n是为了与重载前置++区分开
{
Num temp = *this;
this->num++;
return temp;
}

(2) ++i

1
2
3
4
5
6
//前置++运算符重载
test& operator ++()
{
this->num++;
return *this;
}

对比可以发现,++ii++省略了一步储存原变量的过程