shared_ptr(作為局部變量返回)


  智能指針:shared_ptr

  1、一個局部的shared_ptr 作為返回值過程:當shared_ptr 被創建的時候,自身的引用計數 +1,當前引用計數為 1 , 按值返回以后 引用計數 + 1 (拷貝構造函數,就是可以理解為基礎類型的拷貝),當前引用計數為 2 ,函數執行完成之后,申請的shared_ptr析構(銷毀變量),引用計數 -1 ,此時復制出來的shared_ptr 引用計數變為 1 ;

  2、不管是基礎類型還是 對象 ,作為局部變量時都不可以按引用返回,原因(引用的概念);

  3、帶返回值的函數的返回過程:先復制,在銷毀 ;

  4、當shared_ptr 按引用作為參數傳遞時,自身不會進行引用 + 1 計數,引用以后的自身計數還是引用之前的計數;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM