探讨++i与i++哪个效率更高
探讨++i与i++哪个效率更高
发布时间:2016-12-28 来源:查字典编辑
摘要:答案:在内建数据类型的情况下,效率没有区别;在自定义数据类型的情况下,++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;

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C语言学习
热门C语言学习
编程开发子分类