C++ The foreach Loop

🔹 تعریف

  • در C++11 به بعد، می‌توان از Range-Based For Loop استفاده کرد که همان foreach است.

  • برای تکرار روی آرایه‌ها، وکتورها یا سایر کانتینرها کاربرد دارد.

  • مزیت: نیاز به شمارنده و اندیس نیست، ساده و خوانا است.

🔹 ساختار

for (نوع متغیر element : مجموعه) { // کاری که باید روی element انجام شود }
  • element → هر بار یک عضو از مجموعه می‌شود

  • مجموعه → آرایه، وکتور یا هر کانتینر قابل تکرار

1️⃣ مثال ساده با آرایه

#include <iostream> using namespace std; int main() { int numbers[] = {1, 2, 3, 4, 5}; for (int num : numbers) { cout << num << " "; } }

🔹 خروجی: 1 2 3 4 5

2️⃣ مثال با وکتور

#include <iostream> #include <vector> using namespace std; int main() { vector<string> fruits = {"Apple", "Banana", "Cherry"}; for (string fruit : fruits) { cout << fruit << endl; } }

🔹 خروجی:

Apple Banana Cherry

3️⃣ استفاده از ارجاع برای تغییر مقادیر

#include <iostream> #include <vector> using namespace std; int main() { vector<int> nums = {1, 2, 3, 4, 5}; for (int &num : nums) { // با & برای تغییر اصلی num *= 2; } for (int num : nums) { cout << num << " "; // 2 4 6 8 10 } }

4️⃣ نکات مهم

  1. اگر فقط می‌خواهیم بخوانیم → از مقدار معمولی (int num) استفاده کنیم.

  2. اگر می‌خواهیم مقدار را تغییر دهیم → از ارجاع (&) استفاده کنیم.

  3. دسترسی خارج از محدوده وجود ندارد، برخلاف آرایه با اندیس.