Python в C++. Как можно написать оператор in
В Python очень часто используется оператор in, мне в C++ также нужен данный оператор для перебора значений, то есть если на Python
for (i in abc):
Как это можно реализовать на C++ Я как-то сталкивался с похожим оператором, в котором испоьзовалось двоеточие, но найти не могу, так как в коде использовал другой метод.
Ответы (2 шт):
Возможно, вы имеете в виду эту запись:
for (auto item : container)
// ...
Как я помню, все STL контейнеры поддерживают ее.
Смежный вопрос, в котором ответ пользователя Girish Rao поясняет приведенную выше запись.
Это называется «Range-based for loop». Нормального русского аналого термина пока AFAIK нет; наименее кривой, пожалуй, — «for-цикл по коллекции». Появился начиная с С++11.
Синтаксис имеет вид:
for (TYPE i : abc) {
// ...
}
- В качестве типа обычно выступает
auto,auto&илиconst auto&. abcдолжен иметь соответствующий интерфейс, например, как у стандартных контейнеров — методыbegin()иend().
Подробности: cppreference, Что значит for(int x : vector)