标签:后缀运算符效率研究
如果使用内置的类型的话是没有太大区别的,内置类型比如说int 等。
如果使用的是class构造的对象,那么区别还是挺大的。
我们要先理解他们各自的工作方式。
++i我们成为前缀运算符,它是先自增,然后返回值
i++称为后缀运算符,它是先建立一个副本,自己递增,最后返回副本。
下面来解释一下为什么i++为何效率会这么低。
我们对++后缀运算符重载,我们就能发现其中的问题
class Time
{
public:
Time operator++(int);
Time operator++();
private:
int sec;
};
Time Time::operator++()
{
sec++;
return (*this);
}
Time Time::operator++(int)
{
Time temp(*this);
sec++;
return temp;
}
标签:后缀运算符效率研究
原文地址:http://blog.csdn.net/u013011841/article/details/41270191