- 一部のメンバーを介して文字列内の位置 5 に反復子を設定できます
for(i = 0; i < 5; ++i) iterator++;
か? - Iterator が与えられた場合、それを文字列の数値オフセットに変換するにはどうすればよいですか?
- これが std::iterators で不可能な場合は、ブーストできますか?
イテレータ <-> オフセット
一部のメンバーを介して、イテレータを文字列の5番目の位置に設定できますか?
std::advanceを使用できます
std::advance(iterator, 5);
また
iterator += 5;
イテレータが与えられた場合、それを文字列の数値オフセットに変換するにはどうすればよいですか?
std::distanceを使用できます
std::distance(string.begin(), iterator);
また
iterator - string.begin()
std :: stringイテレータは、+演算子を定義するランダムアクセスイテレータです。を使用して、イテレータを位置5に設定できますbegin(str) + 5
。オフセットはstd::distance
、ランダムアクセスイテレータに-operatorを使用して計算できます。
iterator + 4
iterator - str.begin();
+
andがあり-
ます。これらを使用して、反復子とオフセットの間で変換できます。