c++ - 我可以定义一个键是结构的映射吗?

标签 c++ data-structures stl map

我如何在 C++ 中做到这一点?

最佳答案

您可以使用任何类型作为映射键,只要它实现 operator< (加上对存储在容器中的值的通常复制和分配要求)。

例如:

struct example { int x; }

bool operator < (const example &l, const example &r) { return l.x < r.x; }

std::map<example, int> values;

或者,您可以提供一个比较函数作为 map 模板的第三个参数,而不是定义 operator< .更多详情 here (参数 Compare)。

关于c++ - 我可以定义一个键是结构的映射吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3935681/

相关文章:

c++ - 创建监听 QLabel

java - 将电脑上的C++opencv项目转成opencv android的步骤

c++ - 在 C++ 中对象移动后如何更新四叉树?

algorithm - 包含特定字符的给定字符串的子字符串数

c++ - 为什么 C++ STL 使用 RBtree 来实现 "std::map"?

c++ - 试图继承 STL 集时出现链接错误

c++ - 有限状态机中的函数指针

c++ - Cocos2d-x 添加标签到扩展 CCNode 在插入到 CCDictionary 时消失

java - 选择哪种数据类型或数据结构来计算 100 的阶乘?

c++ - 英特尔标准库 (C++)