for(i = 0; i < 5; ++i) iterator++;
?迭代器&lt; - &gt;偏移
答案 0 :(得分:22)
我可以通过某个成员
将迭代器设置为字符串中的第5位
您可以使用std::advance
std::advance(iterator, 5);
或
iterator += 5;
给定Iterator,如何将其转换为数字偏移量 字符串?
您可以使用std::distance
std::distance(string.begin(), iterator);
或
iterator - string.begin()
答案 1 :(得分:5)
std :: string迭代器是随机访问迭代器,它定义了+运算符。您可以使用begin(str) + 5
获取位置5的迭代器。偏移量可以通过std::distance
计算,它使用-operator作为随机访问迭代器。
答案 2 :(得分:2)
iterator + 4
iterator - str.begin();
+
和-
;您可以使用它们在迭代器和偏移之间进行转换。