You picked these products

سبد خرید

نحوه استفاده از توابع متغیر شده (lambda functions) در C++
Post id: 7004
Views: 113

نحوه استفاده از توابع متغیر شده (lambda functions) در C++

توضیحات:

توابع متغیر شده یا lambda functions در C++، ابزاری هستند که به شما امکان می‌دهند تا توابع کوچک و موقت را به صورت مستقیم درون کد خود تعریف کنید و استفاده کنید.

این نوع توابع برای انجام عملیات ساده و کوتاه مانند محاسبات محلی یا تنظیمات خاص بسیار مناسب هستند. برای استفاده از توابع متغیر شده در C++، به روش زیر عمل کنید:

  1. تعریف یک lambda function: برای تعریف یک lambda function، از علامت [] برای نشان دادن شروع تابع و پارامترهای آن استفاده کنید، سپس از علامت {} برای نوشتن بدنه تابع استفاده کنید. به عنوان مثال:

    auto add = [](int x, int y) {
        return x + y;
    };
    

    در این مثال، یک lambda function به نامaddتعریف شده است که دو عدد را جمع می‌کند و نتیجه را برمی‌گرداند.

  2. فراخوانی lambda function: برای فراخوانی یک lambda function، می‌توانید آن را مستقیماً فراخوانی کنید و نتیجه آن را در یک متغیر ذخیره کنید یا آن را به عنوان پارامتر به یک تابع دیگر ارسال کنید. به عنوان مثال:

    int result = add(3, 5); // فراخوانی lambda function و ذخیره نتیجه در متغیر result
    
  3. استفاده از lambda function به عنوان پارامتر: می‌توانید lambda function را به عنوان پارامتر به یک تابع دیگر ارسال کنید. این کار به شما امکان می‌دهد تا توابع کوچک و موقت را به عنوان پارامتر به توابع دیگر ارسال کنید و از آنها استفاده کنید. به عنوان مثال:

    void performOperation(int x, int y, std::function<int(int, int)> operation) {
        int result = operation(x, y);
        std::cout << "Result: " << result << std::endl;
    }
    
    int main() {
        performOperation(10, 5, [](int a, int b) { return a * b; }); // ارسال lambda function به عنوان پارامتر
    }
    

    در این مثال، یک  lambda function  به عنوان پارامتر به تابع performOperation ارسال شده است تا عملیات مورد نظر را انجام دهد.

استفاده از توابع متغیر شده در C++ به شما امکان می‌دهد تا کدتان را ساده‌تر و قابل فهم‌تر کنید و از انعطاف بیشتری برخوردار باشید. این نوع توابع بسیار مفید هستند و به شما امکان می‌دهند تا کدتان را بهبود بخشید و کارایی بیشتری داشته باشید.

موفق باشید

A.J

پست های مرتبط:

اشتراک در
اطلاع از
guest

0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها