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.