Получить итератор на центральный элемент строки, не используя метод инкремента итератора на начало, то есть без:
auto iter=tempStr.begin();
while(*iter!=centerSymb) ++iter;
Похоже отвечать придется сразу на 3 вопроса. Потому что ваш заголовок, тело вопроса и код в примере говорят о 3 разных вещах.
Звголовок: Получить итератор на i-ый элемент строки
Наиболее универсальный способ:
auto it = std::next(str.begin(), i);
Для итераторов произволного доступа это эквивалентно str.begin() + i
, для остальных for(std::ptrdiff_t pos = 0; pos < i; ++pos) ++it;
.
Вопрос: Получить итератор на центральный элемент строки
auto it = std::next(str.begin(), str.size() / 2);
Код: Получить итератoр на некоторый символ
auto it = std::find(str.begin(), str.end(), symbol);
auto Iter = tempStr.begin() + tempStr.find(centerSymb);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
сделал сортировку по алфавиту для структур по первому элементуно украинские буквы і ї ґ выводяться вверху
Не записывает в файлМожет ли быть ошибка с правами доступа?если да, то как её решить?подскажите пожалуйста, try catch уже пробовала
Подскажите, пожалуйста, когда для статичного объекта в C++ вызывается конструктор?