簡體   English   中英

在地圖中使用共享指針

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM