从多维地图中删除价值?
Deleting Value From Multi Dimensional Map?
我目前正在用 C++ 制作自己的体素引擎,但是我似乎遇到了一个问题。
我正在使用基于块的系统并将其存储在 3 维映射中,变量定义如下所示:
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);
我目前正在用 C++ 制作自己的体素引擎,但是我似乎遇到了一个问题。
我正在使用基于块的系统并将其存储在 3 维映射中,变量定义如下所示:
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);