4
class A { ... };
A& getA();
A anA = getA();
第3行上会发生什么?将参考返回值分配给非参考变量
是否调用了A的拷贝构造函数,从而创建一个独立于函数返回(通过引用)的对象?
class A { ... };
A& getA();
A anA = getA();
第3行上会发生什么?将参考返回值分配给非参考变量
是否调用了A的拷贝构造函数,从而创建一个独立于函数返回(通过引用)的对象?
A是否被调用的复制构造函数,从而创建一个独立于函数返回(通过引用)的对象?
是。复制构造函数将源对象的引用作为参数,并且假定复制构造函数执行深度复制,则副本与原始对象无关。
是的,只要确保'getA()'不返回本地对象。 –