从多维映射中删除值
Deleting Value From Multi Dimensional Map?
我目前在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/
相关文章:
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 如何从多映射中删除特定的重复项
- 如何从存储在std::映射中的std::集中删除元素
- 从嵌套在std::映射中的std::列表中删除元素的最佳方式
- 删除映射和分割错误中的一个过去结束元素
- C++映射不删除元素
- c++:复制、删除和运算符=在原始指针映射中
- 当覆盖映射中的复杂对象键时,旧对象将被删除(C++)
- 删除 std::函数映射
- c++ 在循环中删除迭代器(映射的映射)
- 如何在多映射 c++ 中删除重复值?
- 在 c++ stl 映射中,删除具有重复值的条目
- 使用有序映射删除共享指针
- 遍历 STL 映射(集/多集)的最佳方法,同时元素可能会在循环期间被删除并重新插入?
- 删除映射中的指针会导致内存错误
- 静态映射中动态分配的对象.删除必要的
- 删除多重映射中的重复键
- 删除C++STL多映射中特定键的条目
- C++删除映射中的指针
- 删除映射中的特定条目,但迭代器必须指向删除后的下一个元素