イレーズはイテレータを自動的に前方に移動させるので、複数のオカレンスを削除するには、これを避ける必要があるので、連続する要素を比較できます。だからこそ、私は通常の操作を行います。 auto i = vect.begin();
while (i!=vect.end())
if (*i==someValue)
vect.erase(i);
else
++i
私は、文字列を取り込んでそれをフォーマットし、シンボルを取り除き、処理するために大文字小文字を低く設定するプログラムを持っています。 例: "Man, this is super trippy!" -> "man this is super trippy"
"YOU are entering a NEW dimension!" -> "you are entering a new dimenst
例と既存の演習を見てマルチマップを練習していますが、今はかなり混乱しています。誰でもここでmyMap.erase(iter-> second)で何が消去されているのか教えてもらえますか? multimap<int, int> myMap;
for (int i = 0; i < 3; i += 2)
myMap.insert(make_pair(i + 1, i * 2));