我具有以下C++代碼C++的std ::圖存儲器管理
map<long, TelemInfoV01> LastTelemetry;
void UpdateTelemetry(const TelemInfoV01 &info)
{
LastTelemetry[info.mID] = info;
}
其中TelemInfoV01是一個結構
的UpdateTelemetry方法被稱爲我的代碼以外,傳遞的值,該餘緩存和使用後來。地圖如何管理內存?它是否以相同的方式複製結構,從全局LastTelemetry映射中刪除後是否必須手動刪除它?
我不控制進入方法的'info'變量的範圍。我只是想緩存它的價值在不同的調用中使用它。
問的主要原因是我有一些內存泄漏並希望追蹤它。
感謝, 斯特沃
該地圖保留自己的鍵和值的副本。你不必擔心任何事情。 – juanchopanza
使用'valgrind'或'vld'來跟蹤內存泄漏。否則,在任何地方使用原始指針都是一個很好的起點。 – OMGtechy
確保'TelemInfoV01'在複製構建,複製分配和破壞時正確運行。 –