Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

C++طريقة تمرير متغيرات خارجية لدالة معرّفة بأسلوب Lambda Expressions

في المثال التالي قمنا بتعريف متغيرين إسمهما a و b مع إعطائهما قيم أولية.
بعدها قمنا بتعريف دالة بأسلوب Lambda Expressions مع تمرير المتغيرين a و b لها كما هما.
عند تعريفها قمنا بإسنادها لمتغير إسمه lambda و نوعه auto حتى نتمكن لاحقاً من استدعائها من خلاله.
مهمة هذه الدالة هي جمع العددين اللذين نمررهما لها و من ثم إرجاع الناتج.

مثال

Main.cpp
#include <iostream>
using namespace std;
int main()
{
int a = 3;
int b = 5;
// int لها, و تحديد أنها ترجع قيمة نوعها b و a مع تمرير المتغيرين Lambda Expression هنا قمنا بتعريف
// يساوي الدالة التي قمنا بتعريفها حتى نستطيع لاحقاً استدعاءها من خلاله lambda كما أننا قمنا بتعريف متغير إسمه
auto lambda = [a, b]() int {
return a + b;
};
// و من ثم قمنا بطباعة الناتج b و a حتى ترجع ناتج جمع العددين الموجودين في المتغيرين lambda هنا قمنا باستدعاء الدالة التي يشير لها المتغير
cout << a << " + " << b << " = " << lambda();
return 0;
}
#include <iostream> using namespace std; int main() { int a = 3; int b = 5; // int لها, و تحديد أنها ترجع قيمة نوعها b و a مع تمرير المتغيرين Lambda Expression هنا قمنا بتعريف // يساوي الدالة التي قمنا بتعريفها حتى نستطيع لاحقاً استدعاءها من خلاله lambda كما أننا قمنا بتعريف متغير إسمه auto lambda = [a, b]() int { return a + b; }; // و من ثم قمنا بطباعة الناتج b و a حتى ترجع ناتج جمع العددين الموجودين في المتغيرين lambda هنا قمنا باستدعاء الدالة التي يشير لها المتغير cout << a << " + " << b << " = " << lambda(); return 0; }

سنحصل على النتيجة التالية عند التشغيل.

3 + 5 = 8
		

معلومة تقنية

تمرير المتغير كما هو لدالة معرّفة بأسلوب Lambda Expressions يجعلك قادر على قراءة قيمها فقط بدون القدرة على تعديلها.
في حال أردت تحديث قيم المتغيرات التي يتم تمريرها للدالة فيجب تمرير عناوين المتغيرات لها و ليس أسماءها فقط.