【发布时间】:2018-08-06 00:16:32
【问题描述】:
我必须在我的程序中存储一些数据,如下所述。
数据是高维坐标和这些坐标中的点数。下面是一个简单的例子(坐标维度为 5):
coordinate # of points
(3, 5, 3, 5, 7) 6
(6, 8, 5, 8, 9) 4
(4, 8, 6, 7, 9) 3
请注意,即使我以 5 维为例,实际问题是 20 维。坐标始终是整数。
我想将此信息存储在某种数据结构中。我首先想到的是哈希表。我在 STL 中尝试了unordered_map。但无法弄清楚如何使用坐标作为unordered_map 中的键。定义为:
unordered_map<int[5], int> umap;
或者,
unordered_map<int[], int> umap;
给我一个编译错误。我做错了什么?
【问题讨论】:
-
“给我一个编译错误。” 你有没有读过编译器错误所说的内容?与我们分享知识怎么样?另外,请阅读:minimal reproducible example
-
C 数组与其他类型的变量根本不同。例如,您不能直接分配给它们,也不能像您尝试做的那样将它们放入标准库容器中。尝试使用
std::array。
标签: c++ data-structures unordered-map