将引用返回值分配给非引用变量

时间:2015-06-10 11:56:18

标签: c++ reference

class A { ... };
A& getA();
A anA = getA();

第3行究竟发生了什么?

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

1 个答案:

答案 0 :(得分:9)

  

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

是。复制构造函数将源对象作为参数引用,并且复制独立于原始对象,假设复制构造函数执行深层复制。