C++ Function Parameters

🔹 تعریف

  • پارامترهای تابع متغیرهایی هستند که به تابع داده می‌شوند تا روی آن‌ها پردازش انجام شود.

  • هنگام تعریف تابع، پارامترها مقدار ورودی تابع را مشخص می‌کنند.

🔹 انواع پارامترها

1️⃣ پارامتر By Value (ارزش)

  • یک نسخه از مقدار اصلی به تابع داده می‌شود.

  • تغییرات داخل تابع روی متغیر اصلی اثر نمی‌گذارد.

#include <iostream> using namespace std; void addFive(int num) { num += 5; cout << "Inside function: " << num << endl; } int main() { int a = 10; addFive(a); cout << "Outside function: " << a << endl; }

🔹 خروجی:

Inside function: 15 Outside function: 10

2️⃣ پارامتر By Reference (ارجاع)

  • آدرس متغیر اصلی به تابع داده می‌شود.

  • تغییرات داخل تابع روی متغیر اصلی اثر می‌گذارد.

#include <iostream> using namespace std; void addFive(int &num) { num += 5; } int main() { int a = 10; addFive(a); cout << a << endl; // خروجی: 15 }

3️⃣ پارامتر Pointer

  • مشابه Reference، ولی با استفاده از Pointer.

  • تغییر مقدار متغیر با dereference (*) انجام می‌شود.

#include <iostream> using namespace std; void addFive(int *num) { *num += 5; } int main() { int a = 10; addFive(&a); cout << a << endl; // خروجی: 15 }

🔹 نکات مهم

  1. By Value امن است و متغیر اصلی تغییر نمی‌کند.

  2. By Reference یا Pointer برای تغییر مقدار اصلی یا جلوگیری از کپی داده‌های بزرگ مفید است.

  3. آرایه‌ها به صورت پیش‌فرض با Reference رفتار می‌کنند.

  4. می‌توان ترکیبی از انواع پارامترها را در یک تابع استفاده کرد.