title: why erase operation from a map doesn't invalide iterator
body: <p>I'm wondering why an erase operation from a map inside a loop according to a predicate keep the iterator in a valide state, but not for a vector</p>