Sobes.tech
Junior

Оё имкон дорад дар C++ ишора ба функсияро эълон кард?

sobes.tech AI

Ҷавоб аз AI

Бале.

// Функсия ишорачиси, икки int қабул қилади ва бир int қайтариб беради
int (*ptr_га_ADD)(int, int);

// Мос келадиган имзо билан мисол функция
int ADD(int a, int b) {
    return a + b;
}

// Функсия манзилини ишорачига тайинлаш
ptr_га_ADD = &ADD;

// Ишорачи орқали функцияни чақириш
int натижа = ptr_га_ADD(5, 3); // натижа 8 бўлади

Шунингдек, typedef ёки using ёрдамида:

// typedefдан фойдаланиш
typedef int (*OperationFunc)(int, int);

OperationFunc ptr_га_sub;

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

ptr_га_sub = ⊂
int натижа_sub = ptr_га_sub(10, 4); // натижа 6 бўлади

// C++11 ва ундан кейинги версиялар учун using
using OperationFunc2 = int (*)(int, int);

OperationFunc2 ptr_га_mul;

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

ptr_га_mul = &MUL;
int натижа_mul = ptr_га_mul(2, 7); // натижа 14 бўлади

Функсия ишорачилари функциялар аргументлари (callbackлар) ёки қайтариш қийматлари сифатида фойдаланилиши мумкин.