如何解决下面的内存泄露问题?
CODE:
class A
{
private:
int m_nCount;
};
A &Test()
{
A *x = new A;
return *x;
}
Qustion:
要求:Test一定返回A&, 为了效率尽量少产生临时对象.
1. return *x, 是否回产生临时对象?
2. 上面有MEMORY LEAK, 如果我写成这样:
A &Test()
{
A x;
return A;
}
就不会有问题, 那么这样一来, 我返回A&岂不是和返回A一样了吗?
归根到底, 我对引用和指针的区别不是很清楚, 请高手指点.