C++ Lambda Functions
🔹 تعریف
-
Lambda Function یک تابع بینام (anonymous) است که میتوان مستقیماً در محل تعریف استفاده کرد.
-
معرفی شده در C++11.
-
کاربرد: کد کوتاه، استفاده در الگوریتمها، و callbackها.
🔹 ساختار کلی
-
capture_list → متغیرهای بیرونی که در lambda استفاده میشوند (
[]
) -
parameters → ورودی تابع
-
return_type → نوع بازگشتی (معمولاً قابل حدس است و میتوان حذف کرد)
1️⃣ مثال ساده: بدون پارامتر
2️⃣ مثال: با پارامتر
3️⃣ مثال: با capture list
4️⃣ مثال: استفاده با الگوریتمها
🔹 نکات مهم
-
Lambda بینام است و میتوان آن را به متغیر
auto
نسبت داد یا مستقیم استفاده کرد. -
capture list برای دسترسی به متغیرهای بیرونی است:
-
[x]
→ capture by value -
[&x]
→ capture by reference
-
-
Lambda میتواند ورودی و خروجی داشته باشد و حتی Void باشد.
-
Lambda به خصوص در STL و callbackها کاربرد زیادی دارد.