std::map 的关键要求
为了使类成为标准库 std::map 中的有效键,它必须遵守特定的要求。这些要求确保键可以在映射内可靠地排序和比较。
自定义密钥实现
如果您希望用作密钥的类不满足这些要求,您可以创建一个包装类继承自原始类并实现必要的运算符。当原始类无法修改或未提供合适的比较运算符时,这非常有用。以下是为简单结构实现比较运算符的自定义键包装器的示例:struct MyType { // ... original class members }; struct MyTypeWrapper { MyType original; bool operator<(const MyTypeWrapper& other) const { // ... custom comparison logic } };通过使用 MyTypeWrapper 作为键,您可以映射 MyType 类的对象,同时确保正确维护映射的顺序。
以上是类必须满足哪些关键要求才能用作'std::map”中的键?的详细内容。更多信息请关注PHP中文网其他相关文章!