++i i++ 讨论++i与i++哪个效率更高

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

++i i++ 讨论++i与i++哪个效率更高

  2021-03-20 我要评论
想了解讨论++i与i++哪个效率更高的相关内容吗,在本文为您仔细讲解++i i++的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:++i,i++,下面大家一起来学习吧。

答案:

在内建数据类型的情况下,效率没有区别;

在自定义数据类型的情况下,++i效率更高!

分析:

(自定义数据类型的情况下)

++i返回对象的引用;

i++总是要创建一个临时对象,在退出函数时还要销毁它,而且返回临时对象的值时还会调用其拷贝构造函数。

(重载这两个运算符如下)

复制代码 代码如下:

#include <iostream>
using namespace std;

class MyInterger{
public:
    long m_data;
public:
    MyInterger(long data):m_data(data){}
    MyInterger & operator++(){
        cout<<"Integer::operator++() called!"<<endl;
        m_data++;
        return *this;
    }
    MyInterger operator++(int){
        cout<<"Integer::operator++(int) called!"<<endl;
        MyInterger tmp = *this;
        m_data++;
        return tmp;
    }
};

int main()
{
    MyInterger a = 1;
    a++;
    ++a;
    return 0;
}

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们