Sobes.tech
Junior

Geriyə çağırış funksiyaları nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Başqa bir funksiyaya arqument kimi ötürülən funksiya. Çağıran funksiya, ötürülən funksiyanı müəyyən bir zamanda və ya müəyyən bir hadisə baş verdikdə icra edə bilər.

Tətbiqlər:

  • Hadisə idarəetməsi (GUI, sistem hadisələri)
  • Asinxron əməliyyatlar
  • Davranış strategiyaları
  • Ümumi alqoritmlər

Nümunə:

C:

#include <stdio.h>

// int qəbul edən və void qaytaran funksiya göstəricisi tipi
typedef void (*CallbackFunc)(int);

void do_something_with_callback(int value, CallbackFunc callback) {
    printf("Dəyər ilə nəsə edirəm: %d\n", value);
    if (callback != NULL) {
        callback(value); // Geri çağırış funksiyasını çağırırıq
    }
}

void my_callback_function(int data) {
    printf("Geri çağırış funksiyası icra olundu, dəyər: %d\n", data);
}

int main() {
    do_something_with_callback(10, my_callback_function);
    do_something_with_callback(20, NULL); // Geri çağırış funksiz
    return 0;
}

C++:

#include <iostream>
#include <functional> // std::function üçün

void do_something_with_callback(int value, std::function<void(int)> callback) {
    std::cout << "Dəyər ilə nəsə edirəm: " << value << std::endl;
    if (callback) { // Geri çağırış funksiyasının olub-olmamasını yoxlayırıq
        callback(value); // Geri çağırış funksiyasını çağırırıq
    }
}

void my_callback_function(int data) {
    std::cout << "Geri çağırış funksiyası icra olundu, dəyər: " << data << std::endl;
}

int main() {
    do_something_with_callback(10, my_callback_function);

    // Lambda funksiyası geri çağırış kimi
    do_something_with_callback(20, [](int data) {
        std::cout << "Lambda geri çağırış, dəyər: " << data << std::endl;
    });

    do_something_with_callback(30, nullptr); // Geri çağırış funksiz

    return 0;
}