私はこのようなマップ定義とその後の操作を持っています。順序付きマップでの反復子の有効性
map<int,string> m;
m.insert(std::pair<int,string>(1,"A");
m.insert(std::pair<int,string>(2,"B");
m.insert(std::pair<int,string>(3,"C");
m.insert(std::pair<int,string>(4,"D");
auto it = m.find(2);
m.erase(m.find(3));
cout<< it->second;
「それ」は他の要素の消去後に有効になりますか?