c++按值传递对象实例

c++按值传递对象实例,按值传递对象时要消耗很大的内存开销的,因为要反复调用构造复制函数进行复制对象。

#include <iostream>
using namespace std;
class A
{
public:
A(){cout<<”执行构造函数创建一个对象\n”;}
~A(){cout<<”执行析构函数删除该对象\n”;}
A(A&){cout<<”执行复制构造函数创建该对象的副本\n”;}

};

A func(A one){
return one;
}

int main()
{
A a;func(a);
return 0;
}

 按值传递对象

按值传递对象

通过上述实例我们知道按值传递的开销是很大的,在传递过程中要复制对象,因此会默认调用复制构造函数,该构造函数的作用就是创建某个对象的临时副本。当函数返回时,传递该对象的创建的该对象的副本会被删除,这是候就又要调用复制构造函数简历一个对象的临时副本,事实上认真分析你会发现改程序反复调用该函数已经有2次了。 本文链接地址: c++按值传递对象实例