فهرست سرفصل‌های ++C
خانه (HOME) مقدمه (Intro) شروع کار (Get Started) نحوه نگارش (Syntax) دستورات (Statements) چاپ متن (Print Text) چاپ اعداد (Print Numbers) خط های جدید (New Lines) کامنت ها (Comments) اعلان متغیرها (Declare Variables) متغیرهای متعدد (Multiple Variables) شناسه ها (Identifiers) ثابت ها (Constants) نمونه های دنیای واقعی (Real-Life Examples) ورودی کاربر (User Input) انواع داده پایه (Basic Data Types) اعداد (Numbers) بولی ها (Booleans) کاراکترها (Characters) رشته ها (Strings) کلیدواژه auto (The auto Keyword) نمونه عملی (Real-Life Example) عملگرها (Operators) حسابی (Arithmetic) انتساب (Assignment) مقایسه (Comparison) منطقی (Logical) اولویت (Precedence) مقدمه رشته ها (Strings Intro) به هم چسباندن (Concatenation) اعداد و رشته ها (Numbers and Strings) طول رشته (String Length) دسترسی به رشته ها (Access Strings) کاراکترهای ویژه (Special Characters) ورودی کاربرِ رشته ها (User Input Strings) حذف فضای نام (Omitting Namespace) رشته های سبک C (C-Style Strings) ریاضی (Math) مقادیر بولی (Boolean Values) عبارات بولی (Boolean Expressions) نمونه عملی (Real-Life Example) شرط ها If...Else (If...Else) else (else) else if (else if) اگر کوتاه (Short hand if..else) تودر تو (Nested if) عملگرهای منطقی (Logical Operators) سوییچ (Switch) حلقه While (While Loop) حلقه Do/While (Do/While Loop) نمونه های عملی (Real-Life Examples) حلقه For (For Loop) حلقه های تو در تو (Nested Loops) حلقه foreach (The foreach Loop) نمونه های عملی (Real-Life Examples) شکستن/ادامه (Break/Continue) آرایه ها (Arrays) آرایه ها و حلقه ها (Arrays and Loops) حذف اندازه آرایه (Omit Array Size) گرفتن اندازه آرایه (Get Array Size) نمونه عملی (Real-Life Example) آرایه های چندبعدی (Multidimensional Arrays) ساختارها (Structures) گزاره شمار/Enums (Enums) ارجاع ها (References) ساخت ارجاع (Create References) آدرس حافظه (Memory Address) اشاره گرها (Pointers) ایجاد اشاره گر (Create Pointers) ارجاع زدایی (Dereferencing) تغییر اشاره گرها (Modify Pointers) مدیریت حافظه (Memory Management) new و delete (new and delete) توابع (Functions) پارامترهای تابع (Function Parameters) پارامتر/آرگومان ها (Parameters/Arguments) پارامتر پیش فرض (Default Parameter) پارامترهای متعدد (Multiple Parameters) مقادیر بازگشتی (Return Values) ارسال با ارجاع (Pass By Reference) ارسال آرایه ها (Pass Arrays) ارسال ساختارها (Pass Structures) نمونه عملی (Real-Life Example) بارگذاری هم نام (Function Overloading) بازگشت/بازگشتی (Recursion) لامبدا (Lambda) برنامه نویسی شی گرا OOP (OOP) کلاس ها/اشیاء (Classes/Objects) متدهای کلاس (Class Methods) سازنده ها (Constructors) سازنده سربار (Constructor Overloading) مشخصه های دسترسی (Access Specifiers) کپسوله سازی (Encapsulation) توابع دوست (Friend Functions) ارث بری (Inheritance) ارث بری چندسطحی (Multilevel Inheritance) ارث بری چندگانه (Multiple Inheritance) مشخصه های دسترسی در ارث بری (Access Specifiers) چندریختی (Polymorphism) توابع مجازی (Virtual Functions) قالب ها (Templates) فایل ها (Files) تاریخ (Date) اشکال زدایی (Debugging) استثناها (Exceptions) اعتبارسنجی ورودی (Input Validation) ساختارهای داده و STL (Data Structures & STL) وکتورها (Vectors) لیست (List) پشته ها (Stacks) صف ها (Queues) دک (Deque) مجموعه ها (Sets) نقشه ها (Maps) الگوریتم ها (Algorithms) فضای نام ها (Namespaces) پروژه ها (Projects) جمع دو عدد (Add Two Numbers) اعداد تصادفی (Random Numbers)
++C

++C — مقادیر بازگشتی (Return Values)

آخرین بروزرسانی: 1404/08/04

مقادیر بازگشتی (Return Values)

وقتی تابع چیزی برمی گرداند، به آن «مقدار بازگشتی» می گوییم. نوع برگشت (Return Type) می گوید خروجی چه نوعی است. اگر نوع را void بگذاریم، خروجی ندارد. مثل کارنامه ای که نمره ندارد.

استفاده از return با یک پارامتر

به جای void از یک نوع مثل int استفاده کن. سپس با return مقدار را برگردان.

int myFunction(int x) {
  return 5 + x;
}

int main() {
  cout << myFunction(3);
  return 0;
}
// Outputs 8 (5 + 3)

مشاهده در ادیتور

مقادیر بازگشتی با دو پارامتر

می توانیم جمع دو ورودی را برگردانیم. مثل جمع دو نمره.

int myFunction(int x, int y) {
  return x + y;
}

int main() {
  cout << myFunction(5, 3);
  return 0;
}
// Outputs 8 (5 + 3)

مشاهده در ادیتور

ذخیره مقدار بازگشتی در متغیر

خروجی را می توان در «متغیر (Variable)» نگه داشت. سپس چاپ کرد.

int myFunction(int x, int y) {
  return x + y;
}

int main() {
  int z = myFunction(5, 3);
  cout << z;
  return 0;
}
// Outputs 8 (5 + 3)

مشاهده در ادیتور

مثال سرگرم کننده با حلقه

این بازی عدد را دوبرابر می کند. هر بار نتیجه برمی گردد.

int doubleGame(int x) {
  return x * 2;
}

int main() {
  for (int i = 1; i <= 5; i++) {
    cout << "Double of " << i << " is " << doubleGame(i) << endl;
  }
  return 0;
}

مشاهده در ادیتور

نکته: نوع برگشت باید با مقدار return سازگار باشد. مثلاً اگر نوع int است، مقدار برگردانده شده باید عدد باشد.

تمرین سه مرحله ای

  1. تابع جمع دو عدد بساز.
  2. نتیجه را در متغیر ذخیره کن.
  3. بدون ذخیره، مستقیم چاپ کن.

مطالعه بیشتر و پیوندها

برای مرور، صفحه مقادیر بازگشتی را نگه دار. سپس بخش های توابع، پارامترهای متعدد و پارامتر/آرگومان ها را ببین.

W3Schools: The Return Keyword منبع همین مثال هاست. برای ارتباط موضوعی، W3Schools: Multiple Parameters را هم ببین.

جمع بندی سریع

  • void یعنی خروجی ندارد.
  • نوع برگشت تعیین کننده نوع خروجی است.
  • با return مقدار را برگردان.
  • می توانی خروجی را ذخیره کنی.