在运算符重载中,++被重载前置和后置的粒子如下:
CDemo CDemo::operator++()
{
n++;
return *this;
}//前置
CDemo CDemo::operator++(int k)
{
CDemo tmp(*this);
n++;
return tmp;
}
后置的“++“要多生成一个局部的对象tmp,所以执行速度比前置的慢。同理,迭代器是一个对象,STL中有重载迭代器的”++“运算符,后置的也比前置的慢。在次数多的循环中,”++i“和”i++“可能就会造成运行时间上可观的差别。