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.