我搜索了 std::map 运行时排序的实现,并找到了这个解决方案:STL std::map dynamic ordering
对我来说很清楚,但我不明白如何在 std::map 的构造函数中使用 OrderingType。std::map 有一个构造函数,它以比较器对象作为参数。因此,从我的角度来看,使用以下代码是正常的:
但是上述主题的代码也可以编译:
我不明白为什么它能工作:std :: map的构造函数不能接收OrderingType枚举类型的参数,而不是Ordering类对象本身。
int main()
{
Ordering<int> test_ordering( ASCENDING );
CUSTOMMAP map1( test_ordering );
return 0;
}
但是上述主题的代码也可以编译:
int main()
{
CUSTOMMAP map1( ASCENDING );
//...
return 0;
}
我不明白为什么它能工作:std :: map的构造函数不能接收OrderingType枚举类型的参数,而不是Ordering类对象本身。
std::map
。 - Robᵩ