جدول المحتويات:
فيديو: ما هو C ++ لامدا؟
2024 مؤلف: Lynn Donovan | [email protected]. آخر تعديل: 2023-12-15 23:43
في C ++ 11 والإصدارات الأحدث ، أ لامدا التعبير- غالبًا ما يطلق عليه أ لامدا - هي طريقة مناسبة لتعريف كائن دالة مجهول (إغلاق) في المكان الذي يتم استدعاؤه أو تمريره كوسيطة إلى دالة.
فيما يتعلق بهذا ، ما هو نوع Lambda C ++؟
[C ++ 11: 5.1. 2/3]: إن نوع التابع لامدا -التعبير (وهو أيضًا ملف نوع من كائن الإغلاق) هي فئة فريدة غير متحدة نوع - دعا الإغلاق نوع - التي تم وصف خصائصها أدناه. هذه الفئة نوع ليس إجماليًا (8.5.
بالإضافة إلى ذلك ، لماذا نحتاج إلى تعبيرات lambda في C ++؟ C ++ قدم كائنات وظيفية ، أو المنفذين. المنفذين نكون الفئات التي تفرط في تحميل العامل (). تعمل لغات البرمجة الأخرى مثل Haskell أو C # أو Erlang أو F # على تمكين تعريفات الوظائف في مكان استخدامها مباشرةً. هؤلاء نكون معروف ك تعابير لامدا بسبب تركيبها يكون مستوحى من لامدا حساب التفاضل والتكامل.
السؤال أيضًا ، كيف يمكنك تمرير دالة lambda في C ++؟
3 طرق لتمرير لامدا كوسيطة لدالة:
- استخدام std:: function للإعلان عن كائن lambda. مثال 1 () لامدا باطلة
- استخدام typedef للإعلان عن نوع دالة وتعيين دالة lambda لها. لامدا باطلة
- استخدام البنية للإعلان عن لامدا.
ما هو اغلاق لامدا؟
أ لامدا هي في الأساس وظيفة يتم تعريفها بشكل مضمّن بدلاً من الطريقة القياسية للإعلان عن الوظائف. لامداس يمكن تمريرها في كثير من الأحيان كأشياء. أ إنهاء هي وظيفة تحيط بها من خلال الرجوع إلى المجالات الخارجية لجسمها.