返回值与返回引用的问题
生活随笔
收集整理的這篇文章主要介紹了
返回值与返回引用的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
此處小論一下返回值與返回引用的問題。
先看程序:
?
易知:運行結果:
constructor? ?10
constructor? ?20
destructor? ?10
destructor? ?10
Press any key to continue
以上結果,因為調用的是返回值為對象而非引用的f5函數,該函數在結束時并未調用析構函數,故在最后接受了對象a的賦值。
當調用返回值是x類的引用時(將上述代碼中預處理 的 1 和 0 調換),可得結果:
constructor? ?10
constructor? ?20
destructor? ?20
destructor? ?10
Press any key to continue
由以上分析易知,在使用返回引用的時候,一旦函數結束,則對象不復存在,自動調用析構函數。
還是在強調同一個問題:不能返回局部變量的引用。
轉載于:https://www.cnblogs.com/kingDr/p/3422065.html
總結
以上是生活随笔為你收集整理的返回值与返回引用的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下c开发 之 线程通信
- 下一篇: 二叉查找树的插入,删除,查找