将从方法返回的引用分配给变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将从方法返回的引用分配给变量相关的知识,希望对你有一定的参考价值。

class A{
/.../
};

class B{
  public:
    A& foo()
    {
       A *bar = new A;
       return *bar;
     }
};

int main()
{
   A varA;
   B varB;
   varA = varB.foo();
   return 0;
}

这条线被执行时会发生什么varA = varB.foo()?将调用在foo中创建的对象的(在复制/移动赋值运算符函数调用之后)析构函数?

答案

不会调用析构函数,分配的对象将泄漏。

以上是关于将从方法返回的引用分配给变量的主要内容,如果未能解决你的问题,请参考以下文章