我具有以下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'在复制构建,复制分配和破坏时正确运行。 –