📩Указатель на функцию

расширяемый код

Указатели на функцию - упрощают код и делают его расширяемым. Вместо того, что бы менять логику выбора функции которую мы хотим использовать, мы просто можем сразу её передать, это оптимизирует код иначе пришлось бы писать большое количество if-else или switch.

// тип данных ( *имя указателя )( параметры )


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

pointer_function = fuction; // инициализация, присвоение

Указатели на функции значительно упрощают код. Без них пришлось бы писать костыли и трудную логику из if'ов

условный код
#include <string>

string Get_User_Profile()                  
{
    return "user profile";
}

string Get_User_Friends()                
{
    return "user friends";
}



void ShowInfo(string (*Chosen_Function)() ) // получаем в качестве параметра функцию
{

    cout << Chosen_Function() << endl;   // вызываем выбраную функцию

}



int main()
{

    ShowInfo(Get_User_Profile);  // указываем функцию которую хотим увидеть

}

Функция ShowInfo выводит нам информацию в соответствии от того, что мы хотим получить. В данном примере это функции выводят текст, а в реальных проектах это могут быть записи из базы данных.

Last updated