【C++ & Opencv】【第七天】typedef 定义函数指针类型
2019-07-13 19:55
1571 查看
形如:
[code]typedef void (*sss) (int a);
就叫做函数指针类型。
①通过下面一个例子理解一下此类型:
[code]#include <iostream> using namespace std; char(*pFun)(int); char glFun(int a) { cout << a << endl; return a; } int main() { pFun = glFun; (*pFun)(2); return 0; }
以上程序中,主函数的第一句 pFun = glFun 改成 pFun = &glFun 也是可以运行出结果的。上网查了一下,有人说
对于char fun(int)这种函数定义,fun 与 &fun 是几乎相同的(有一点区别,但我也不知道区别在何处)。
②再看一个东西:
[code]void tesst() { typedef void (*FUN)(); //m, typedef void (FUN_1)(); //n void f1(); FUN f; //1 FUN *pf; //2 f = f1; //a pf = f1; //b pf = &f1; //c }
问:abc、1和2、m和n 分别有什么区别?
网上有人答: typedef void (*FUN)(); //m,
typedef void (FUN_1)(); //n
FUN是函数指针类型,FUN_1是函数类型
所以,
FUN f; //1
FUN *pf; //2
f是函数指针变量,pf是函数指针的指针变量
而又由于上面我们说到的,f1 和 &f1 是几乎相同的,所以abc也没有太大区别。
相关文章推荐
- 使用typedef语句定义函数类型和函数指针
- c++ typedef类型定义
- C++学习14:使用typedef定义函数指针类型
- C++ 用typedef定义类型
- 关于c++中类型定义typedef和类模板能否共用问题
- C++用typedef定义函数指针类型typedef可以用于定义函数指针类型
- 关于C++中typedef的用法定义函数指针
- c++ 中用typedef定义新类型(类对象)小例子
- C++数据类型重定义(数据类型的别名)-typedef
- C/C++学习笔记25:用typedef定义类型
- typedef(定义block类型,和函数指针类型)
- C++------------typedef 函数指针类型定义
- C++------------typedef 函数指针类型定义
- C++之 类型定义语句--typedef
- C++中的类型重定义
- Android JNI的C++模板不能访问基类定义的类型
- 使用typedef语句定义数组类型
- C++箴言:类型转换时定义非成员函数
- 宏定义函数指针类型&函数返回左值类值 1。宏定义不分配内存,变量定义分配内存。 2。宏名和参数的括号间不能有空格 3。宏替换只作替换,不做计算,不做表达式求解 //下面是正确的标准的写法 typedef int(FUNC1)(int in); ty
- typedef 定义数组类型用法