set<int> s; // あるいはlistやvector

// ・・・・

set<int>::iterator it = s.begin(), end = s.end();

while(it != end)
{
DoSometing(s, *it);
++it;
}

DoSometingでコンテナの要素が増減する可能性がある場合ってイテレーターは無効になりますか?