How to assign a function pointer in C++?

In C++, function pointers can be assigned in the following ways:

  1. Assigning a function’s address to a function pointer variable directly. For example:
int add(int a, int b)
{
    return a + b;
}

int main()
{
    int (*func)(int, int);  // 声明一个函数指针变量
    func = add;  // 直接将函数add的地址赋值给func
    return 0;
}
  1. Can you please explain in more detail?
  2. Can you please rephrase this sentence in your own words?
int add(int a, int b)
{
    return a + b;
}

int main()
{
    int (*func)(int, int);  // 声明一个函数指针变量
    func = &add;  // 将函数add的地址通过取址操作符赋值给func
    return 0;
}
  1. Use the typedef keyword: Define an alias for a function pointer type using the typedef keyword, and then use the alias for assignment. For example:
typedef int (*FuncPtr)(int, int);  // 为函数指针类型定义别名FuncPtr

int add(int a, int b)
{
    return a + b;
}

int main()
{
    FuncPtr func;  // 使用别名声明一个函数指针变量
    func = add;  // 直接将函数add的地址赋值给func
    return 0;
}

The above are several common methods of assigning function pointers, choose one that is suitable for your situation.

bannerAds