std中map

时间:2021-08-07 11:48:53

在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;

现在运行正确了!