C/C++学习之++i 和 i++性能比较(三)

2012-11-01 15:47:25 · 作者: · 浏览: 1188

    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++ 调用了两次复制构造函数,两次析构函数,一次++操作符。

    通过上述的比较,大家可以看出是那个效率更好了吧!