关于复制构造函数问题

 #include<iostream>

using namespace std;

class A{
public:
     A(int n);
    A(A& b);
public:
    int v;          
};

A::A(int n):v(n){

}

A::A(A&b){
    v = b.v;
    cout <<"hello world"<<endl;
}

A func(){
    A b(4);
    return b;
}


int main()
{   
    cout << func().v<<endl;
    return 0;
}

以上函数运行时,没有输出“hello",也就是没有调用我写的复制构造函数。
按理说,返回一个类,是会调用复制构造函数的呀?希望能解答一下

缥缈止盈
浏览 630回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP