Информация об изменениях

Сообщение Re[6]: Зачем просят перевернуть строку на интервью? от 12.10.2018 17:16

Изменено 13.10.2018 8:31 Somescout

Re[6]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Nuzhny, Вы писали:

Что-то смотрю я на этот код, и кажется мне что он будет работать только с null-terminated string. А на произвольной подстроке облажается.

Несогласные: на вход функция принимает итераторы, которые могут находиться в любом состоянии, у функции нет контракта чтобы левый итератор был строго в начале строки, а правый — в конце. Соответственно для null-terminated string, либо если BiDirectionalIterator инициализирован за концом обычной строки — всё отработает нормально. Но в произвольном случае будет ошибка. Если не прав — с интересом выслушаю вашу версию.
Re[6]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Nuzhny, Вы писали:

N>template<class BidirIt>

N>void reverse(BidirIt first, BidirIt last)
N>{
N> while ((first != last) && (first != --last)) {
N> std::iter_swap(first++, last);
N> }
N>}
N>

Что-то смотрю я на этот код, и кажется мне что он будет работать только с null-terminated string. А на произвольной подстроке облажается.