C++函数返回的临时匿名对象什么时候被释放内存
#include
using namespace std;
class A
{
public:
int x;
A(int a){cout<<"creating"<<endl;x=a;}
A(const A& a){cout<<"copy"<<endl;x=a.x;}
void operator=(A& a)
{
x=a.x;
g(a);
}
void g(A& k)
{
int a=9;
double gd=77;
cout<<k.x<<endl;
}
};
A f(A& k)
{
A j(k.x);
return j;
}
int main()
{
A mike(2);
A job(8);
A jjk(99);
cout<<job.x<<endl;
job=f(mike);
cout<<job.x<<endl;
}
f函数返回了一个临时匿名对象(就叫他P对象吧)
那么这个P对象什么时候内存被释放呢,是job=f(mike);这行代码执行完后才被释放吗