++i与i++的效率哪个更高

来源:爱站网时间:2019-12-22编辑:网友分享
大家在学习C语言的时候是不是都对++i与i++有点过了解呢?那么你知道++i与i++的效率哪个更高吗?下面我们就带着这个问题一起去看看吧,希望对你有所帮助。

大家在学习C语言的时候是不是都对++i与i++有点过了解呢?那么你知道++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;
}

看完后你知道++i与i++的效率哪个更高了吗?如果你们感兴趣的话可以去研究一下更多C语言技巧哦,网上也有很多关于这方面的资料大家可以参考下。

上一篇:关于C/C++的回调函数

下一篇:linux如何使用awk命令

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载