gpt4 book ai didi

c++ - 将两个键与 std::map 一起使用的最佳方法是什么?

转载 作者:IT老高 更新时间:2023-10-28 14:01:35 26 4
gpt4 key购买 nike

我有一个 std::map 用于存储 x 和 y 坐标的值。我的数据非常稀疏,所以我不想使用数组或 vector ,这会导致大量内存浪费。我的数据范围从-250000到250000,但我最多只有几千个点。

目前我正在使用两个坐标(即 "12x45")创建一个 std::string 并将其用作键。这似乎不是最好的方法。

我的其他想法是使用 int64 并将两个 int32 塞入其中并用作键。

或者使用具有两个坐标的类。对用作 key 的类有什么要求?

最好的方法是什么?我宁愿不使用 map 。

最佳答案

使用 std::pair 作为 key :

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;

关于c++ - 将两个键与 std::map 一起使用的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1112531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com