Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Цикл for each
В языке C++ существует еще один вариант цикла for
, который позволяет перебирать элементы массива или контейнера. Формат цикла for each
:
for (<Объявление переменной> : <Массив или контейнер>) {
<Инструкции>
}
Пример вывода всех элементов массива с помощью цикла for each
:
int arr[] = {10, 20, 30}; // Массив
for (int element : arr) { // Получаем копию элемента
std::cout << element << std::endl;
}
На каждой итерации цикла переменной element
присваивается копия текущего элемента массива arr
. Цикл завершится, когда будут перебраны все элементы массива. Чтобы иметь возможность изменять элементы массива внутри цикла, а также для ускорения работы цикла следует объявлять переменную как ссылку, добавив перед именем переменной оператор &
. Умножим каждый элемент массива на 2
, а затем выведем все элементы в окно консоли:
int arr[] = {10, 20, 30}; // Массив
for (int &element : arr) { // Получаем ссылку на элемент, а не копию
element *= 2;
}
for (int &element : arr) {
std::cout << element << ' ';
} // 20 40 60
С помощью цикла for each
можно перебирать элементы контейнеров, например, выведем в окно консоли все элементы динамического массива, реализуемого классом vector
:
// #include <vector>
std::vector<int> arr = {10, 20, 30};
for (int &element : arr) {
std::cout << element << ' ';
} // 10 20 30
Вместо конкретного типа данных удобно указать ключевое слово auto
:
std::vector<int> arr = {10, 20, 30};
for (auto &element : arr) {
std::cout << element << ' ';
} // 10 20 30
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов