Передумови:
Покажчики є символічними представленнями адрес. Вони дозволяють програмам імітувати виклик за посиланням, а також створювати динамічні структури даних і керувати ними. Ітерація елементів у масивах або інших структурах даних є одним із основних видів використання покажчиків.
Адреса змінної, з якою ви працюєте, призначається змінній-вказівнику, яка вказує на той самий тип даних (наприклад, int або string).
Синтаксис :
datatype *var_name;>
Адреса функції: Ми всі знаємо, що код кожної функції зберігається в пам’яті, тому кожна функція має адресу, як і всі інші змінні в програмі. За назвою функції можна знайти адресу функції. Ми можемо отримати адресу функції, просто написавши назву функції без дужок у функції.
Щоб дізнатися більше про це, зверніться до статті – адреса функції.
Покажчик на функцію в C++
- Покажчик на функцію використовується для вказування на функції, так само покажчики використовуються для вказування на змінні.
- Він використовується для збереження адреси функції.
- Покажчик на функцію або використовується для виклику функції, або його можна надіслати як аргумент до іншої функції.

Покажчик на функцію в C++
Синтаксис :
return_type (*FuncPtr) (parameter type, ....);>
Посилання та розіменування покажчика функції в C++
Подібно до покажчика, який використовується зі змінними, ми виконуємо посилання та розіменування за допомогою покажчика функції.
використання Інтернету
Посилання: Коли покажчику призначається адреса функції, яка буде з ним асоційована, цей процес називається посиланням.
Розіменування: Коли ми використовуємо оператор (*), щоб отримати значення, що зберігається в покажчику.
Синтаксис:
// Declaring return_type (*FuncPtr) (parameter type, ....); // Referencing FuncPtr= function_name; // Dereferencing data_type x=*FuncPtr;>
Покажчик на функцію, який використовується для виклику функції
Тут ми бачимо, як ми вказуємо вказівник на функцію та викликаємо її за допомогою цього вказівника. Це ефективний спосіб використання
приклад:
C++
як отримати приховані програми
// C++ program to implementation> // Function Pointer> #include> using> namespace> std;> int> multiply(>int> a,>int> b) {>return> a * b; }> int> main()> {> >int> (*func)(>int>,>int>);> >// func is pointing to the multiplyTwoValues function> >func = multiply;> >int> prod = func(15, 2);> >cout <<>'The value of the product is: '> << prod << endl;> >return> 0;> }> |
>
>Вихід
The value of the product is: 30>
У наведеній вище програмі ми оголошуємо функцію multiply, де ми множимо два елементи a і b, а потім повертаємо результат. Але замість безпосереднього виклику функції ми використовуємо вказівник на функцію prod, який виконує ту саму роботу за нас.
перетворення рядка в ціле
Передача покажчика функції як параметра
При оголошенні вказівника на функцію для збереження адреси пам’яті функції, але коли ми хочемо передати значення, що повертається, наступній функції. У нас є два способи виконання цього завдання. По-перше, або передайте отримане значення, або по-друге, передайте вказівник на функцію, який уже існує.
приклад:
C++
// C++ Program for demonstrating> // function pointer as pointer> #include> using> namespace> std;> const> int> a = 15;> const> int> b = 2;> // Function for Multiplication> int> multiply() {>return> a * b; }> // Function containing function pointer> // as parameter> void> print(>int> (*funcptr)())> {> >cout <<>'The value of the product is: '> << funcptr()> ><< endl;> }> // Driver Function> int> main()> {> >print(multiply);> >return> 0;> }> |
колесо миші не прокручується належним чином
>
>Вихід
The value of the product is: 30>
Часова складність: O(1).
Допоміжні приміщення: O(1).
У наведеній вище програмі ми оголошуємо функцію множення, у якій множимо 2 змінні a і b. Ми передаємо вказівник на функцію як параметр у функції друку, тут ми використовуємо вказівник на функцію, щоб обчислити значення з функції множення, а потім це значення у функції друку.