[英]Using shared pointers in map
我正在嘗試決定在我的硬件中使用什么是最佳選擇。 我有一個地圖(我編碼),它應該存儲整數id作為鍵,並將名為fan的類的共享指針作為值:
Map<Id, shared_ptr<Fan>> Online_list;
什么是更好的使用shared_ptr<Fan>&
或沒有引用?
我的作業是關於創建像Facebook這樣的服務器,粉絲可以在線和離線,所以即時通訊有兩個地圖,一個名為Online_list
,另一個是Offline_list
,所以當風扇斷開連接時,我需要將他從在線列表中刪除並將他添加到離線列表。
shared_ptr
是一種引用。 帶內存管理的指針。 您可以存儲普通的shared_ptr
因為內部仍然引用相同的數據(復制構造函數增量引用計數等)。
通常最好不要保存在所有的指針,但只存儲Fan
傳值對象。 擁有這個Fan
對象的two
件事真的有意義嗎?
但是,假設您的設計是正確的,那么您應該只存儲shared_ptr
by-value。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.