从多维映射中删除值

Deleting Value From Multi Dimensional Map?

本文关键字:删除 映射      更新时间:2023-10-16

我目前在c++中制作自己的体素引擎,但是我似乎遇到了一个问题。

我正在使用基于块的系统并将其存储在三维地图中,变量定义看起来像这样:

map<uint64_t,map<uint64_t,map<uint64_t,Chunk*>>> Chunks;

然而,我真的找不到一种合适的方法来删除地图上的任何值,我尝试过使用map::erase函数,但没有成功,是否有任何好的方法来做到这一点,我不知道?

p: S这是我正在尝试的map::erase函数:

Chunks[x][y].erase(z); 

提前感谢!

映射是键值类型,所以不能尝试作为数组访问:

尝试删除第一个元素,例如:

Chunks.erase(KeyOfFirstElement);

:http://www.cplusplus.com/reference/map/map/erase/