Цикл «foreach»
Якщо ви колись програмували на інших мовах програмування, то могли зустрічатися з таким циклом як
Розберімось, що це за цикл, як він працює та коли його слід використовувати.
Цикл є альтернативою (чи можна навіть сказати різновидом) циклу Він використовується, тоді коли ми маємо пройтися по всім елементам масиву.
Загальний запис циклу є таким:
for (тип_змінної ім'я_змінної : ім'я_масиву)
{
Дії;
}
Де:
• Тип змінної – це тип елементів масиву. Дуже часто використовують тип щоб не помилитися з даним типом. Це особливо зручно, коли елементами масиву виступають якісь (класи).
• Ім’я змінної – це змінної, яка буде використовуватися в якості Вона є як альтернатива запису Тому, саме з даним елементом ми будемо виконувати різні дії.
• Ім’я масиву – це є масив по якому ми будемо проходитися за допомогою циклу.
Розглянемо приклад програми, де використаємо стандартний цикл та цикл записаний в стилі
#include <iostream>
int main()
{
float mas[5] = { 6.5, 7.4, 8.3, 9.2, 1.1 };
std::cout << "for:\n";
for (int i = 0; i < 5; i++)
{
std::cout << mas[i] << " ";
}
std::cout << "\n\nforeach:\n";
for (auto elem : mas)
{
std::cout << elem << " ";
}
}
Отже, цикл використовуємо, коли ми маємо пройтися по всіх елементах масиву. При цьому нам навіть не потрібно вказувати початкову та кінцеву точку (логічно ж бо беремо всі елементи) і не вказуємо крок перебору.
Якщо ж ви хочете за допомогою циклу надати або змінити значення елементів, то при створенні циклу перед вам варто додати символ Таким чином, ви будете створювати посилання на свій масив. Це виглядатиме так:
for (тип_змінної &ім'я_змінної : ім'я_масиву)
{
Дії;
}
Перегляньте наступний приклад:
#include <iostream>
int main()
{
int mas[5];
int n = 2;
for (auto &elem : mas)
{
elem = n * n + 1;
n++;
}
for (auto elem : mas)
{
std::cout << elem << " ";
}
}
Зверніть увагу, що при створенні масиву ми вказати його розмір. Бо, в іншому випадку цикл (як і інший) не працюватиме належним чином.