C++编程中的函数指针初步解析
1.定义 int (*p)(int a,int b); //p是一个指向函数的指针变量,所指函数的返回值类型为整型 int *p(int a,int b); //p是函数名,此函数的返回值类型为整型指针 3) 指向函数的指针变量不是固定指向哪一个函数的,而只是表示定义了一个这样类型的变量,它是专门用来存放函数的入口地址的;在程序中把哪一个函数的地址赋给它,它就指向哪一个函数。 int fn1(int x,int y); int fn2(int x); 定义如下的函数指针: int (*p1)(int a,int b); int (*p2)(int a); 则 p1 = fn1; //正确 p2 = fn2; //正确 p1 = fn2; //产生编译错误 6) 定义了一个函数指针并让它指向了一个函数后,对函数的调用可以通过函数名调用,也可以通过函数指针调用(即用指向函数的指针变量调用)。 4.举例 // MethodPoint.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> using namespace std; typedef int (*pf)(const int& a,const int& b); int sum(const int& a,const int& b){ return a + b; } int minus(const int& a,const int& b){ return a - b; } int doSometing(const int& a,const int& b,pf p){ return p(a,b); } int _tmain(int argc,_TCHAR* argv[]) { cout << doSometing(1,2,&sum) << endl; cout << doSometing(1,&minus) << endl; system("pause"); return 0; } 结果: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |