函数指针的几种用法
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 13:29:00
xS]kA+mMUP(g躖8;kզ$4F
d1Կ;QSq=̹wfB,ʅno^-r/KH
|wY&XGE;qIlJ,xƣ:|>
eLA5A( ׃Zn YgsEUsr"L殤
lJ3F%x^S~0HJI*Mg&uXnQЊJ(ѡwrJ"t{^Nl>hAhoyGM8z)|*krbI{z:24䒄%Hjȶ1-r-E
wh%TydR}=7iۤoh4i,vlD,x묅X?I1QK+ɢ)cQDTIbL("Ca!)I(Nn2w5lc6'")V&ɨIꈥ((&3Mn괓ilvR88LNqPA#@LzWgֱUрn
҈ !7z
函数指针的几种用法
函数指针的几种用法
函数指针的几种用法
什么是函数指针?函数指针指向的是特殊的数据类型,函数的类型是由其返回的数据类型和其参数列表共同决定的,而函数的名称则不是其类型的一部分. 用typedef定义函数指针类型// 定义函数指针类型cmpFuntypedefint (*cmpFun)(constint&, constint&); (3)这样,cmpFun就成了一种数据类型,可以用它来声明和定义形如(1)式中的pf那样的函数指针,比如:cmpFun pf = 0;cmpFun pf = someFunction; 举个例子来说明一下:#include#includeusingnamespace std; // 定义函数指针pfint (*pf)(constint&, constint&); // 定义函数指针类型cmpFuntypedefint (*cmpFun)(constint&, constint&); // 具体函数int intCompare(constint& aInt, constint& bInt){ if(aInt == bInt) return 0; if(aInt > bInt) { return 1; } else { return -1; }} int main(void){ int aInt = 1; int bInt = 2; pf = intCompare; // pf = &stringCompare; // 和上面一句是完全一样的 // 使用pf if(pf(aInt, bInt) == 0) { cout