改变std :: map的排序模式

lez*_*lon 3 c++ stl stdmap

我正在创建一个std::map<a,b>定义排序标准的地方a::operator<

有没有办法在某些时候更改地图的类型,以便从现在开始通过另一个排序算法进行排序a?它还需要重新排序地图的当前内容

谢谢

Rob*_*obᵩ 7

您必须创建另一个地图,并将第一个地图的元素复制到第二个地图中,如下所示:

std::map<a,b> map1;
... // operations on map1
std::map<a,b,Sorter> map2(map1.begin(), map1.end());
Run Code Online (Sandbox Code Playgroud)