在map中需要对位置a和b值进行交换,代码如下:
auto val1 = tmpMap.at(a);
auto val2 = tmpMap.at(b);
tmpMap.insert(std::make_pair(a, val2));
tmpMap.insert(std::make_pair(b, val1));
但是在实际运行过程中没有达到效果,原来是函数用错啦,insert函数在map中有值时不对map中对应键值进行履盖。
正确代码如下:
auto val1 = tmpMap.at(a);
auto val2 = tmpMap.at(b);
tmpMap[a] = val2;
tmpMap[b] = val1;
现在运行正确了!