将引用返回值赋给非引用变量

Assign a reference return value to a non-reference variable

本文关键字:引用 变量 返回值      更新时间:2023-10-16
class A { ... };
A& getA();
A anA = getA();

第3行到底发生了什么?

是否调用了A的复制构造函数,从而创建了一个独立于函数(通过引用)返回的对象?

是否调用了A的复制构造函数,从而创建了一个独立于函数(通过引用)返回的对象?

是的。复制构造函数接受对源对象的引用作为参数,并且假设复制构造函数进行深度复制,则副本独立于原始对象。