关于函数返回
A是类 代码很简单的
就是想问问 为什么执行结果 是只调用析构函数2次
A B;fun(); 分成2句写 就调用析构函数3次
如果A &B=fun(); 这个是2次 是因为引用还可以理解
看不到图看如下代码#include<iostream.h>
class A
{
int x;
public:int getx(int i){x=i;return x;}
void print(){cout<<"x=: "<<x;}
A(){cout<<"执行构造函数"<<endl;}
~A(){cout<<"执行稀构函数"<<endl;}
};
A fun( )
{ A a;
cout<<"a的地址: "<<&a<<endl;
return a;
}
void main()
{
A b=fun(); /*这里到底发生了什么情况啊 为什么析构函数只调用了2次 而A b; fun();这样写就3次*/
cout<<"b的地址: "<<&b<<endl;
}
[ 本帖最后由 a86819318 于 2012-10-17 10:15 编辑 ]