- Для конечной точки строки: Предположим, что внутренняя строка символов заканчивается на нуль. Затем путем разыменования итератора, чтобы определить, являются ли они '\ 0', чтобы определить следующую позицию, это конечная точка. Но для других строк, не содержащих нуль, невозможно получить такую информацию.
- Для начальной точки строки: Нет способа сделать такую вещь.
По умолчанию std :: string :: iterator - это просто случайный двунаправленный итератор, ничего не знает о контейнере.
Но если вы работаете на платформе Visual C++, может быть, вы можете использовать некоторые хакерские путь как следовать, чтобы получить контроль над ее контейнера, но это очень опасно:
// it is the passed in string::iterator parameter.
if (it._Has_container()) {
string* strRef = (string*)it._Mycont;
}
Да вы определенно нужны итераторы, указывая на конец или начало сравнения текущего итератора, что можно определить при определении строки? – DogDog