ほとんどのコンテナーでは、iterator型はコンテナー内の値への読み取り/書き込みアクセスを提供し、const_iterator型は読み取り専用アクセスを提供します。ただし、std::set<T>の場合、セット内の値を変更すると (潜在的に) コンテナの不変条件が壊れるため、反復子型は読み取り/書き込みアクセスを提供できません。したがって、 ではstd::set<T>、 と の両方が読み取り専用アクセスiteratorを提供します。const_iterator
これは私の質問につながります: でできることと でできることの間に違いはありますstd::set<T>::iteratorかstd::set<T>::const_iterator?
C++11 では、コンテナー ( など) の操作メソッドは引数eraseを取ることができることに注意してください。const_iterator