#c #c 11
#c #c 11
Вопрос:
здесь немного кода:
itr2=s.replace(itr2-5, itr2 1, newVal.begin(), newVal.end()).begin();
здесь begin() возвращает итератор для строки, в моем случае это будет строка не из начала исходной строки ‘s’. Интересно, после replace() я получаю ссылку на not of begin или ссылку на копию.
И мне интересно, возвращает ли s.replace(…) является частью s?
Комментарии:
1. Каждая строка имеет свое собственное содержимое. У вас не может быть ссылок между символами строк.
2. Вы имеете в виду, что это будет одна и та же строка?
3. Нет, каждая строка отличается.
4. Это копирование символов. Символы не могут быть ссылками друг на друга.
5. Итак, s.replace(…) не является частью s?
Ответ №1:
s.replace()
возвращает ссылку обратно на s. Ваше утверждение эквивалентно
s.replace(itr2-5, itr2 1, newVal.begin(), newVal.end());
itr2 = s.begin();
Ничего подлого не происходит.