亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

‘Enable_Shared_From_this’的有用性是什么?

‘Enable_Shared_From_this’的有用性是什么?

C++
LEATH 2019-07-22 15:08:12
‘Enable_Shared_From_this’的有用性是什么?我跑過去enable_shared_from_this在閱讀Boost.Asio示例時,在閱讀了文檔之后,我仍然不知道該如何正確地使用它。請有人給我一個例子和/或解釋什么時候使用這個類是有意義的。
查看完整描述

3 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

這是我的解釋,從一個螺母和螺栓的角度(頂部的答案沒有與我‘點擊’)。*注意,這是研究VisualStudio 2012附帶的Shared_PTR和Enable_Shared_FROM_this的源代碼的結果。也許其他編譯器以不同的方式實現了Enable_Shared_FROM_this.*

enable_shared_from_this<T>增加一個私人weak_ptr<T>實例到T它持有“一次真正的參考計數“就.的情況而言T.

所以,當您第一次創建一個shared_ptr<T>在新的T*上,T*的內部WILE_PTR被重新計算為1。shared_ptr基本上回到這個weak_ptr.

T然后,在其方法中,調用shared_from_this獲取shared_ptr<T>那,那個返回到相同的內部存儲的引用計數。..這樣,你總有一個地方T*的參考計數是存儲的,而不是有多個shared_ptr不了解彼此的實例,每個實例都認為它們是shared_ptr負責點票。T當他們的參考數達到零時就刪除它。


查看完整回答
反對 回復 2019-07-22
  • 3 回答
  • 0 關注
  • 581 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號