begin()とcbegin()の異同

888 ワード

1.iterator,const_iteratorの役割:コンテナ内の要素を巡り、これらの要素の値にアクセスします.iteratorは要素値を変更できますがconst_iteratorは変更できません.Cの針に少し似ています.2.const_iteratorオブジェクトはconst vectorまたは非const vectorに使用できます.それ自体の値は変更できますが(他の要素を指すことができます)、その要素の値は書き換えられません.3.cbegin()とcend()はC++11で追加され、要素を変更するために使用できないconstの反復器を返します.
auto i1 = Container.begin();  // i1 is Container<T>::iterator 
auto i2 = Container.cbegin(); // i2 is Container<T>::const_iterator