ほとんどのコンテナーでは、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