C/C++ Указатель на функцию

C/C++ Указатель на функцию

Иногда удобно использовать так называемые указатели на функции, за счет них можно произвести вызов любой функции, совпадающей по синтаксису не используя ее имя, а только по адресу в памяти, можно сказать что мы запоминаем адрес той функции, что нужно вызвать и подставляем вместо переменной-указателя на функцию.

Синтаксис искомых функций и указателя должны совпадать (возвращаемое значение и аргументы)
void Foo1(int a) cout<<”void Foo1”<<endl;
void Foo2(int a) cout<<”void Foo2”<<endl;

void(FuncPointer)(int a); //создаем указатель на функцию

FuncPointer=Foo1;        //присваиваем этому указателю адрес функции foo1
FuncPointer();                  //вызываем функцию (Foo1)
FuncPointer=Foo2;       //присваиваем этому указателю адрес функции foo2
FuncPointer();                  //вызываем функцию (Foo2)

Leave a Reply

Your email address will not be published. Required fields are marked *