首页 > 代码库 > 函数指针
函数指针
可以通过auto关键字将一个变量直接变为函数指针
auto具有自动类型推断功能
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 void fun1(int a){ 6 7 cout<<"fun1:"<<a<<endl; 8 } 9 10 int main(){ 11 12 auto fun=fun1; 13 (*fun)(3); 14 system("pause"); 15 return 0; 16 }
上述代码中fun会被直接认为是一个函数指针
我们还可以将函数指针定义为函数指针数组
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 6 7 void fun1(int a){ 8 9 cout<<"fun1:"<<a<<endl; 10 } 11 void fun2(int a){ 12 13 cout<<"fun2:"<<a<<endl; 14 } 15 void fun3(int a){ 16 17 cout<<"fun3:"<<a<<endl; 18 } 19 20 int main(){ 21 22 23 void (*fun[3])(int)={fun1,fun2,fun3}; 24 (*(fun[0]))(10); 25 (*(fun[1]))(20); 26 (*(fun[2]))(30); 27 system("pause"); 28 return 0; 29 }
和定义函数指针唯一不同的地方就是多加了一个[]
数组名是指向第一个元素的指针,
函数指针
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。