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