У меня есть функция, и я передаю итератор и строку, чтобы проверить, указывает ли итератор на первый элемент или нет.Однако я получаю неожиданные результаты.
int main()
{
std::string str="abc";
std::string::iterator strit = str.begin();
iteratorProperty(strit, str);
}
void iteratorProperty(std::string::iterator it, std::string str) {
//std::next(it);
int count = 0;
for(auto i = it; i <str.end();i++) {
count++;
}
std::cout<<count<<std::endl;
}
Это утверждение cout возвращает мне значение 51. Может ли кто-нибудь помочь мне понять это?
Спасибо.