私は次のものを持っています:
typedef std::map<int, std::map<std::string, std::string> > ComplexMap;
ComplexMap map_a;
ComplexMap map_b;
map_a 全体を map_b にスワップしたい。次の 2 つのオプションに機能上の違いはありますか。
// 1
ComplexMap::iterator end = map_a.end;
for (ComplexMap::iterator it = map_a.begin(); it != end; ++it)
{
mam_b[it->first].swap(it->second);
}
// 2
map_b.swap(map_a);