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

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中创建的对象的(在复制/移动赋值运算符函数调用之后)析构函数?

答案

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

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

当我取消引用指针并将值分配给某个变量时,内存会发生啥?

调用方法并将返回值分配给数组时,为啥C#在调用方法时使用数组引用?

将值从闭包赋值给变量 Swift

将从@escaping接收的值分配给swift中另一个类中的实例变量

多次引用数组中的元素并将该元素分配给变量[重复]

为啥我不能将从 Firestore 获取的值分配给 Swift 中的数组?