要删除 vector<int> v 中所有等于 5 的元素,下列写法正确的是( )。
- A.
for (auto it = v.begin(); it != v.end(); it++) if (*it == 5) v.erase(it); - B.
for (auto it = v.begin(); it != v.end(); ) { if (*it == 5) it = v.erase(it); else it++; } - C.
for (int x : v) if (x == 5) v.erase(&x - &v[0] + v.begin()); - D.
for (auto it = v.begin(); it != v.end(); it++) if (*it == 5) v.erase(v.begin());