Sobes.tech
Junior

C++-də funksiya göstəricisi elan etmək mümkündürmü?

sobes.tech Süni İntellekt

AI-dan cavab

Bəli.

// İki int qəbul edən və int qaytaran funksiyaya işarə edən göstərici təyin edin
int (*ptr_to_ADD)(int, int);

// İmza ilə uyğun olan nümunə funksiyası
int ADD(int a, int b) {
    return a + b;
}

// Funksiya ünvanını göstəriciyə təyin edin
ptr_to_ADD = &ADD;

// Göstərici vasitəsilə funksiyanı çağırın
int nəticə = ptr_to_ADD(5, 3); // nəticə 8 olacaq

Həmçinin, typedef və ya using istifadə edilə bilər:

// typedef istifadə
typedef int (*OperationFunc)(int, int);

OperationFunc ptr_to_sub;

int SUB(int a, int b) {
    return a - b;
}

ptr_to_sub = ⊂
int nəticə_sub = ptr_to_sub(10, 4); // nəticə 6 olacaq

// C++11 və yuxarı üçün using istifadə
using OperationFunc2 = int (*)(int, int);

OperationFunc2 ptr_to_mul;

int MUL(int a, int b) {
    return a * b;
}

ptr_to_mul = &MUL;
int nəticə_mul = ptr_to_mul(2, 7); // nəticə 14 olacaq

Funkciya göstəriciləri funksiyaların arqumentləri (callback-lər) və ya geri dönüş dəyərləri kimi istifadə edilə bilər.