c++中关于指针的比较复杂的定义方式(《c++编程思想》读书笔记)

最近利用茶语饭后的时间在看《c++编程思想》这本大部头的经典,其中看到关于指针的论述,不禁拍案叫绝,摘录几笔如下:

  

//complicated Definitions

1. void * (*(*fp1)(int))[10];
2. float (*(*fp2)(int,int,float))(int);
3. typedef double (*(*(*fp3)())[10])();
4. int (*(*fp4())[10])();

1:fp1是一个指向函数的指针,该函数接受一个整型参数并返回一个指向含有10个void指针数组的指针。

2:fp2是一个指向函数的指针,该函数接受3个参数且返回一个指向函数的指针,该函数接受一个整型参数并返回一个float.

3:fp3是一个指向函数的指针,该函数无参数,且返回一个指向含有10个指向函数指针数组的指针,这些函数不接受参数且返回double值。

4:fp4是一个函数定义,fp4是一个返回指针的函数,该指针指向含有10个函数指针的数组,这些函数返回整型值。

 

  光看定义和说明就已经觉得很复杂了,真不知道实际应用会是什么样子,不禁感叹c++确实是高手用的东西。。。

转载于:https://www.cnblogs.com/Lightmen/p/5623009.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值