Maine

纵有疾风起,人生不言弃

C++ 前置 ++ 后置 ++ 效率问题

++i相比于写i++ 程序的执行速度更快。++被重载成前置和后置运算符的例子如下:

CDemo CDemo::operator++ ()
{
        //前置++
    ++n;
    return *this;
}
CDemo CDemo::operator ++(int k)
{
        //后置++
    CDemo tmp(*this);  //记录修改前的对象
    n++;
    return tmp;  //返回修改前的对象
}

后置++要多生成一个局部对象 tmp,因此执行速度比前置的慢。在次数很多的循环中,前置 ++ 和 后置 ++ 可能就会造成运行时间上比较明显的差别了。因此,对循环控制变量i,要养成写 ++i 不写 i++ 的习惯。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注