我目前正在使用C ++开发一款2d平台游戏。 我有一个名为Tilemap的类,它将tilemap的实际数据存储在2D int向量中。我注意到当玩家死亡并重新启动关卡时,进程内存会上升大约1兆字节。所以我使用了Visual Leak Detector,它检测到114个内存泄漏都源于我的2D int向量的初始化。 这是我的代码:
std::vector<std::vector<int>> tileMapArray;
tileMapArray.resize(mapSizeX);
for (int i = 0; i < mapSizeX; i++)
tileMapArray[i].resize(mapSizeY);
有没有办法解决这个问题? 提前致谢, TheKrane
编辑:这些是VLD告诉我泄漏发生在以下行:
main.cpp中(30):
Scene* currentLevel = new Level;
level.cpp(6):
Level::Level() : m_Tilemap("Data/testlevel.tmx", "Data/tilemap.png") {}
tilemap.cpp(36):
for (int i = 0; i < mapSizeX; i++)
tileMapArray[i].resize(mapSizeY);