جدول المحتويات:

ما هو C ++ لامدا؟
ما هو C ++ لامدا؟

فيديو: ما هو C ++ لامدا؟

فيديو: ما هو C ++ لامدا؟
فيديو: C++ vs C# - An Experienced Programmer Provides a Comparison 2024, شهر نوفمبر
Anonim

في C ++ 11 والإصدارات الأحدث ، أ لامدا التعبير- غالبًا ما يطلق عليه أ لامدا - هي طريقة مناسبة لتعريف كائن دالة مجهول (إغلاق) في المكان الذي يتم استدعاؤه أو تمريره كوسيطة إلى دالة.

فيما يتعلق بهذا ، ما هو نوع Lambda C ++؟

[C ++ 11: 5.1. 2/3]: إن نوع التابع لامدا -التعبير (وهو أيضًا ملف نوع من كائن الإغلاق) هي فئة فريدة غير متحدة نوع - دعا الإغلاق نوع - التي تم وصف خصائصها أدناه. هذه الفئة نوع ليس إجماليًا (8.5.

بالإضافة إلى ذلك ، لماذا نحتاج إلى تعبيرات lambda في C ++؟ C ++ قدم كائنات وظيفية ، أو المنفذين. المنفذين نكون الفئات التي تفرط في تحميل العامل (). تعمل لغات البرمجة الأخرى مثل Haskell أو C # أو Erlang أو F # على تمكين تعريفات الوظائف في مكان استخدامها مباشرةً. هؤلاء نكون معروف ك تعابير لامدا بسبب تركيبها يكون مستوحى من لامدا حساب التفاضل والتكامل.

السؤال أيضًا ، كيف يمكنك تمرير دالة lambda في C ++؟

3 طرق لتمرير لامدا كوسيطة لدالة:

  1. استخدام std:: function للإعلان عن كائن lambda. مثال 1 () لامدا باطلة
  2. استخدام typedef للإعلان عن نوع دالة وتعيين دالة lambda لها. لامدا باطلة
  3. استخدام البنية للإعلان عن لامدا.

ما هو اغلاق لامدا؟

أ لامدا هي في الأساس وظيفة يتم تعريفها بشكل مضمّن بدلاً من الطريقة القياسية للإعلان عن الوظائف. لامداس يمكن تمريرها في كثير من الأحيان كأشياء. أ إنهاء هي وظيفة تحيط بها من خلال الرجوع إلى المجالات الخارجية لجسمها.