c++指针函数,函数指针,和普通的函数有啥区别
时间: 2024-08-14 21:09:28 浏览: 56
C++基础课件,讲述C++基础知识
C++中的指针函数、函数指针和普通函数主要有以下几个区别:
1. **内存地址**:
- 普通函数:函数作为独立的实体存储在程序的文本段中,每个函数有自己的地址。
- 函数指针:函数指针是一个变量,它存储的是一个函数的实际地址,可以指向任何一个已知类型的函数。
2. **调用方式**:
- 普通函数:通过函数名直接调用,不需要额外的指针。
- 函数指针:需要通过函数指针来间接调用,通常先获取函数地址,然后解引用后调用。
3. **灵活性**:
- 指针函数:允许动态绑定和延迟计算,即在运行时根据函数指针的内容选择执行哪个函数。
- 普通函数:执行固定的功能,绑定在编译期完成。
4. **类型系统**:
- 普通函数:函数声明会确定其输入参数类型和返回值类型,不能改变。
- 函数指针:可以看作是一种特殊的类型,它的类型由所指向的函数的签名决定。
5. **应用场景**:
- 普通函数:主要用于封装功能,提高代码复用。
- 函数指针:常用于回调机制、事件处理、泛型编程等场景,提供更大的灵活性。
阅读全文