C++ Primer plus 学习笔记之第七章(2)函数指针

1、问: int * fun()  === int (*fun)()?

答:不相等。int * fun(),返回值是整型指针;右边 是一个函数指针,返回整型值;

2、问:假设以字符串作为函数参数,有几种形式?

答:1、string ;       2、char[];            3、char *

3、问:如何声明一个指针指向 const double * f1(const double *,int n)?

答:假定指针名为pf,那么将f1替换为"(*pf)",即const double *(*pf)(const double *,int n);

       初始化 pf=f1,也可以在声明的时候直接初始化。

       那么为什么不是pf=&f1呢?因为函数f1是对象(这里跟类的对象不是一回事),f1就是地址,&f1那就是地址的地址。

4、接着第3问:cout<<(*pf)(x,10)/*地址*/<<*(*pf)(x,10)/*返回值*/<<endl

                         与

                          cout<<pf(x,10)/*地址*/<<*pf(x,10)/*返回值*/<<endl一样吗?

答:一样!!!因为pf和"(*pf)"(为什么这里加一个括号,请参考1),都是表f1的地址。

      好像很迷惑!!引用一段翻译原文

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值