首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++对象的创建及析构有关问题

2013-01-19 
C++对象的创建及析构问题为什么会有四次呢?我认为应该会调用3次析构函数,一次临时无名对象,两次实例化对象

C++对象的创建及析构问题


为什么会有四次呢?我认为应该会调用3次析构函数,一次临时无名对象,两次实例化对象的析构,另一个调用的是哪里的呢。
请大家不吝赐教,尽量详细些。 析构函数
[解决办法]
楼主定义的+法,Complex operator+(Complex c2),这样在传递参数的时候,也会构造一个临时的匿名对象,这个对象是通过拷贝构造函数调用的,也是调用同样的析构函数来析构
如果改为:const Complex& c2作为参数,则只有三次
[解决办法]
对于自定义的用户类型,如果拷贝构造函数的成本比较高的话,最好用引用传递参数,这样能免去一个对象的构造,节省成本。

热点排行