Sobes.tech
Junior

C++ da funktsiya ko'rsatkichini e'lon qilish mumkinmi?

sobes.tech AI

AIdan javob

Ha.

// Ikki int qabul qiladigan va int qaytaradigan funktsiya ko‘rsatkichi ta'rifi
int (*ptr_to_ADD)(int, int);

// Imzo bilan mos keladigan funktsiya misoli
int ADD(int a, int b) {
    return a + b;
}

// Funktsiya manzilini ko‘rsatkichga tayinlash
ptr_to_ADD = &ADD;

// Ko‘rsatkich orqali funktsiyani chaqirish
int natija = ptr_to_ADD(5, 3); // natija 8 bo‘ladi

Shuningdek, typedef yoki using yordamida:

// typedef ishlatish
typedef int (*OperationFunc)(int, int);

OperationFunc ptr_to_sub;

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

ptr_to_sub = ⊂
int natija_sub = ptr_to_sub(10, 4); // natija 6 bo‘ladi

// C++11 va undan keyingi versiyalar uchun using
using OperationFunc2 = int (*)(int, int);

OperationFunc2 ptr_to_mul;

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

ptr_to_mul = &MUL;
int natija_mul = ptr_to_mul(2, 7); // natija 14 bo‘ladi

Funktsiya ko‘rsatkichlari funksiyalar argumenti (callbacklar) yoki qaytish qiymati sifatida ishlatilishi mumkin.