std::map 的键:要求和实现
当使用 std::map 映射不同类的对象时,您使用的类打算用作密钥可能无法满足有效密钥的必要要求。 std::map 使用排序机制组织其内容,这提出了是否任何任意类都可以作为键或者是否存在特定要求的问题。
std::map 的键必须遵守以下规则要求:
映射的排序由第三个模板参数或构造函数参数控制,默认为 std::less 确保您的比较运算符定义严格的顺序。如果 CmpMyType()( a, b ) 返回 true,则 CmpMyType()( b, a ) 必须返回 false。当两者都返回 false 时,元素被认为是等效的并且属于同一等价类。struct CmpMyType
{
bool operator()( MyType const& lhs, MyType const& rhs ) const
{
// Implementation of comparison logic
}
};
以上是任何类都可以作为 std::map 的键吗?的详细内容。更多信息请关注PHP中文网其他相关文章!