Пишу функцию, принимающую строковый итератор, в функции нужно пройтись по всем элементам начиная с указанного до конца. Как определить этот конец при условии, что сама последовательность в функции недоступна, а передавать дополнительный параметр string.end() - не хочется? Попробовал так - работает:
void foo(std::string::const_iterator i){
for(i;*i!=0;i++)
printf("%c",*i);
printf("\n");}
Но я не уверен, есть ли гарантия, что std::string обязана хранить завершающий 0.