csdndonald 2017-02-26 06:45 采纳率: 50%
浏览 928
已采纳

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

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

  • 写回答

1条回答 默认 最新

  • leewers 2017-02-26 07:05
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?