Перебирать символы строки в C++

Google Translate Icon

В этом посте мы обсудим, как перебирать символы строки в C++.

1. Наивное решение

Идея состоит в том, чтобы перебирать символы std::string используя простой цикл for и печатая каждый символ по текущему индексу, используя [] оператор.

Скачать  Выполнить код

результат:

h e l l o

2. Использование цикла for на основе диапазона

Рекомендуемый подход в C++11 и более поздних версиях заключается в переборе символов std::string с использованием цикла for на основе диапазона.

Скачать  Выполнить код

результат:

h e l l o

3. Использование итераторов

Мы также можем перебирать символы std::string с помощью итераторов. Поскольку итерация доступна только для чтения, мы можем использовать std::string::const_iterator вернулся std::string::cbegin а также std::string::cend.

Скачать  Выполнить код

результат:

h e l l o

4. Использование std::for_each функция

Мы можем даже уменьшить сложность, используя std::for_each Алгоритм STL, который применяет указанную функцию к каждому элементу входного диапазона.

Скачать  Выполнить код

результат:

h e l l o

 
Мы даже можем заменить вызов функции лямбда-выражениями в C++11. Лямбда — это удобный способ определения встроенного анонимного функтора в том месте, где он передается в качестве аргумента некоторой функции.

Скачать  Выполнить код

результат:

h e l l o

5. Перегрузка operator<<

Наконец, мы также можем перегрузить operator<< за std::string объекты, как показано ниже:

Скачать  Выполнить код

результат:

h e l l o

Это все, что касается перебора символов строки в C++.

Оценить этот пост

Средний рейтинг 4.44/5. Подсчет голосов: 36

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?




Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования :)



Подписывайся
Уведомить о
guest
1 Комментарий
Большинство голосов
Новейшие Самый старый
Встроенные отзывы
Просмотреть все комментарии
НЕ переходите по этой ссылке, иначе вы будете забанены на сайте!