Qtにはマップをリストするのに似たクラスがあります。これらのクラスは、const_iteratorを返すbegin_const()メソッドを提供します。ドキュメンテーションによれば、これらのconst_iteratorsは、より速いので可能な限り使用する必要があります。イテレータとconst_iterator(STL)の効率が異なる
STLは、インスタンス自体がconstの場合にのみ、const_iteratorを提供します。 1つのbegin()メソッドだけが実装されています(constのためにオーバーロードされています)。
iteratorとconst_iteratorを使用して要素に読み取りアクセスするときに違いはありますか?(なぜQtに違いがあるのか分かりません)
古代のstlから現在のバージョンのC++標準ライブラリに切り替えると、const_iteratorsを返すcbegin関数が得られます。また、イテレータをconst_iteratorに割り当てることができ、beginのconstバージョンもconstイテレータを返すことに注意してください(すべてC++標準ライブラリ用)。 – PlasmaHH
私の参照はcplusplus.comでした。 cbegin()はありません。あなたは素敵で最新のSTLリファレンスを教えてくれますか?今では、cbegin()メソッドがあるので、今質問はもっと迫っています... – HWende
PlasmaHHが指し示す関数はC++ 11の一部です:[記事](http://www.cplusplus.com/articles/EzywvCM9 /)しかし、constイテレータの代わりにイテレータを使用するためのパフォーマンス上の問題があるかどうかはわかりません。 – Uflex