2012-10-17 23 views
0

我正在看「C++思維」Bruce Eckel。第164頁(波蘭語版)第3章是關於函數的指針。從書中指向函數的難點

例子:

void * (*(*fp1)(int))[10] 
float (*(*fp2)(int,int,float))(int) 
double (*(*(*fp3)())[10])() 
int (*(*f4())[10])() 

你能告訴我,我應該如何解釋這一點,並通過這些例子創造了什麼,因爲我不明白這本書的解決方案?

+6

http://cdecl.org/ –

+1

使用'cdecl'。這不是一個有趣的問題。 –

+2

我強烈反對爲了「用C++思考」而需要知道這一點的想法。 –

回答

1

讓我們4:int (*(*f4())[10])()

它讀取f4評估(f4()),然後解除引用((*f4()))可認購((*f4())[10] )然後解除引用((*(*f4())[10]))並評估以給出intint (*(*f4())[10])())。

因此,它是一個函數返回數組的指針返回int函數的指針。