Ссылка (указатель) на функцию в C++

Часто возникает необходимость запускать функцию используя указатель на неё.
Сделать это довольно просто!
Рассмотрим на примере.
Как всегда поточная библиотека и пространство имён:

#include <iostream>

using namespace std;

К примеру будем запускать функцию с целочисленным аргументом, которая ничего не возвращает:

void my_int_func(int a) {

    cout << «Аргумент: » << a << endl;

}

Теперь самое интересное! Функция main:

int main() {

    void (*foo)(int);  // объявляем указатель на функцию

    foo = &my_int_func;  // приписываем адрес функции указателю на неё



    foo(1);  // используем

    foo(22); // и ещё раз

    return 0;

}

В первой строке мы создали указатель на функцию (объявили). Как видите, первый параметр — имя. * значит что это указатель конечно 😉
Затем в скобках перечисляем типы будущих аргументов нашей функции .. Да и всё ..
Во второй строке — присваиваем указателю адрес заготовленной функции.
После чего можно пользоваться новым именем.

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий