函数指针略解一二

函数指针

这两天一直在重新翻看C++的书,发现对很多东西有了新的认识,或者说是懂了很多知识。

 

先来说说函数指针吧,函数指针,顾名思义就是指向函数的指针,而不是指向函数对象的指针。

     1.形式就像,int  (*pf)(const int &,const int &);这就是将pf声明为返回值类型是int的,参数是const int&,const int&类型的。需要注意的就是*pf两端的括号是必须的,不然编译器会误以为这是一个返回类型是int*,参数是两个const int &的函数。

 

     2.使用typedef来简化函数指针的定义。typedef int  (*pnewf)(const int &,const int &);书上说的很懵懂,其实就是定义了一个pf的类型,该类型是返回值为int,参数为两个const int &的函数。我们可以这样pnewf  fun来定义新的变量fun。

 

     3.函数指针的初始化。在引用函数名但又没有调用该函数的时候,函数名将被自动解释为指向函数的指针。假设有函数

int fun(const int &,const int &),那么我们就可以这样 pnewf p1 = fun 来赋值,也可以pnewf p2 = 0来初始化。

 

     4.通过指针调用函数与直接用函数来使用是一样的。比如:

        pnewf p1 = fun;

        p1(1,3)与fun(1,3)一样。


其实函数指针的用法不止这几种,这里只是初步的介绍下,想了解的更深入还是得看看优秀的书籍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值