复制构造函数 私有化 会如何样
复制构造函数 私有化 会怎么样?
函数,在返回一个值的时候,会复制它。
class A;
A function()
{
A a;
return a;
}
如果A的复制构造函数私有化了,那函数返回A,会怎么样?
我试了,编译是可以通过的,但纠结……
------解决方案--------------------
函数返回值的时候,不会调用 A的copy构造函数,只会调用A的成员的copy构造函数。
------解决方案--------------------
你用的是什么编译器。
函数返回的时候,会尝试 移动构造或者复制构造。
函数,在返回一个值的时候,会复制它。
class A;
A function()
{
A a;
return a;
}
如果A的复制构造函数私有化了,那函数返回A,会怎么样?
我试了,编译是可以通过的,但纠结……
------解决方案--------------------
函数返回值的时候,不会调用 A的copy构造函数,只会调用A的成员的copy构造函数。
------解决方案--------------------
你用的是什么编译器。
函数返回的时候,会尝试 移动构造或者复制构造。