c++ - 为 std::map C++ 使用多个键值

标签 c++

您好,我正在尝试编写一个从文件中读取数据然后将其保存在内存中的函数。 该内存将需要一个 x 和一个 y 值来识别。它可能不是线性的,不同的 x 和 y 值之间可能会有很大的跳跃,并且值的数量是未知的,这排除了多维数组的使用。

我想使用 std::map,因为它可以满足我的需要,但它不支持多个键值。我还可以用什么来存储数据,或者有没有办法合并 X 和 Y 值,以便它能够在 map 容器中使用?

最佳答案

制作一对 xy 值,并将其用作键:

std::map<std::pair<int, int>, whatever>

请注意,就目前而言,如果您按顺序遍历 map ,这会将 x 值视为比 y 值更重要。如果您希望 y 值更重要,您需要将它们放在对中的第一位。

关于c++ - 为 std::map C++ 使用多个键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14963179/

相关文章:

c++ - 函数模板的显式特化导致链接器错误

android - 由于 NDK 路径中的反斜杠,Qt Creator 无法构建 Android 库

c++ - 有没有办法在集合中引用类的方法?

c++ - const 指针有什么意义?

c++ - 将 char 转换为 bool(将 bool 传递给 main)

c++ - 网络摄像头驱动程序设置?

c++ - QML 文本元素上的 dataChanged?

c++ - 如何使用cpprestsdk解析来自websocket_client的json数据

c++ - 配对作为 map 中的键以进行内存

c++ - 有没有办法在 std::string_view 迭代器上使用 std::remove_if ?