C++中指向函数的指针的定义和使用

在C++中,指向函数的指针允许您将函数作为参数传递给其他函数,或者在运行时动态地调用不同的函数。要定义和使用指向函数的指针,您需要遵循以下步骤:

**1. 定义指向函数的指针**

要定义指向函数的指针,您需要使用以下语法:

ReturnType (*pointerName)(ParameterType1, ParameterType2, ...);

其中:

- `ReturnType` 是指针指向的函数的返回类型。
- `pointerName` 是指针的名称。
- `ParameterType1`,`ParameterType2` 等是指针指向的函数所需的参数类型。

例如,定义一个指向接受两个整数参数并返回整数的函数的指针:
int (*functionPtr)(int, int);

**2. 将函数地址分配给指针**

要将函数地址分配给指针,您需要使用函数的名称(不带括号):
 

functionPtr = &functionName;

或者,您可以省略 `&` 符号,因为函数名称本身就是一个指向函数的指针:
 

functionPtr = functionName;

**3. 使用指向函数的指针调用函数**

要使用指向函数的指针调用函数,您需要使用以下语法:
 

(*pointerName)(arg1, arg2, ...);

例如,使用先前定义的 `functionPtr` 调用函数:
 

int result = (*functionPtr)(3, 4);

这是一个完整的示例,演示了如何定义和使用指向函数的指针:

#include <iostream>

// 定义一个接受两个整数参数并返回它们之和的函数
int add(int a, int b) {
    return a + b;
}

int main() {
    // 定义指向函数的指针
    int (*functionPtr)(int, int);

    // 分配函数地址给指针
    functionPtr = add;

    // 使用指针调用函数
    int result = (*functionPtr)(3, 4);

    std::cout << "The sum is: " << result << std::endl;

    return 0;
}
```

输出:

```
The sum is: 7
```

猜你喜欢

转载自blog.csdn.net/weixin_43623488/article/details/130774412
今日推荐