У меня есть std:: map, который я использую для хранения значений для координат x и y. Мои данные очень разреженные, поэтому я не хочу использовать массивы или векторы, что приведет к огромной трате памяти. Мои данные варьируются от -250000 до 250000, но у меня будет всего несколько тысяч баллов.
В настоящее время я создаю std::string с двумя координатами (т.е. "12x45" ) и использую его как ключ. Это не похоже на лучший способ сделать это.
Мои другие мысли заключались в том, чтобы использовать int64 и вставлять в него два int32 и использовать его в качестве ключа.
Или использовать класс с двумя координатами. Каковы требования к классу, который должен использоваться в качестве ключа?
Каков наилучший способ сделать это? Я бы предпочел не использовать карту карт.