我有一个std::map
我用来存储 x 和 y 坐标的值。我的数据非常稀疏,所以我不想使用数组或向量,这会导致内存的大量浪费。我的数据范围从-250000到250000,但我最多只有几千个点。
目前我正在创建一个std::string
与两个坐标(即"12x45"
)并将其用作密钥。这似乎不是最好的方法。
我的其他想法是使用 int64 并将两个 int32 推入其中并将其用作密钥。
或者使用具有两个坐标的类。用作密钥的类有哪些要求?
做这个的最好方式是什么?我宁愿不使用地图的地图。
使用 std::pair 作为密钥:
std::map<std::pair<int,int>, int> myMap;
myMap[std::make_pair(10,20)] = 25;
std::cout << myMap[std::make_pair(10,20)] << std::endl;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)