I::I()
{
cout 《 "con" 《 endl;
}
I::~I()
{
cout 《 "dector" 《 endl;
}
I::I(const I& i)
{
cout 《 "copy" 《 endl;
}
I& I::operator++()
{
cout 《 "increament" 《 endl;
return *this;
}
I& I::operator=(const I &i)
{
cout 《 "assign" 《 endl;
return *this;
}
I I::operator++(int)
{
I old = *this;
++(*this);
return old;
}
int main(void)
{
I i;
cout 《 "++i" 《 endl;
++i;
cout 《 endl;
cout 《 "i++" 《 endl;
i++;
cout 《 endl;
return 0;
}
结果是:
从执行结果可以看出,++i就调用了一次构造函数,一次++操作,
而i++ 调用了两次复制构造函数,两次析构函数,一次++操作符。
通过上述的比较,大家可以看出是那个效率更好了吧!