C/C++中的拷贝构造函数和赋值构造函数
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                C/C++中的拷贝构造函数和赋值构造函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                代碼:
1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 class A{ 7 public: 8 A(){ 9 cout<<"construct"<<endl; 10 } 11 ~A(){ 12 cout<<"destory"<<endl; 13 } 14 A(const A& a){ 15 cout<<"copy construct"<<endl; 16 } 17 A& operator=(const A& a){ 18 cout<<"assert construct"<<endl; 19 } 20 }; 21 22 //const A& func(const A& a){ //返回值也是引用,不調用拷貝構造函數 23 A func(const A& a){ //返回的時候需要調用拷貝構造函數 24 cout<<"in the func"<<endl; 25 return a; 26 } 27 28 int main(){ 29 30 A a1,a2; 31 cout<<"function called"<<endl; 32 a2 = func(a1); 33 cout<<"function finished"<<endl; 34 35 return 0; 36 }輸出:
construct construct function called in the func copy construct assert construct destory function finished destory destory?分析:
如果將代碼23行注釋掉并改為22行,輸出變為
construct construct function called in the func assert construct function finished destory destory?
轉載于:https://www.cnblogs.com/hu983/p/5519379.html
總結
以上是生活随笔為你收集整理的C/C++中的拷贝构造函数和赋值构造函数的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 折叠电动车怎么解速度锁?
- 下一篇: YYModel 源码解读(二)之YYCl
