c++初学者函数返回问题

函数返回类对象时为什么调用复制构造函数而不是构造函数
函数返回类对象时为什么调用复制构造函数而不是构造函数

复制构造函数也是构造函数啊。。你指的应该是默认构造函数吧。
比如有这么一个按值返回的函数
A func(){
A a;
//functon's work
return a;
}
由于是按值传递,所以需要根据a构造出一个临时对象,这就需要使用复制构造函数,而使用默认构造函数构造出来的对象的成员都是默认值,基本不会和要返回的a相符