看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《fcouple (人生啊…)》之銘言: : 遇到的問題: (題意請描述清楚) : 各位,小弟有些問題想請教。 : 問題一 : int*(*(*(*x)())[10])(); : 這句是在表達什麼。 我真的好想知道拿這個問題問學生的老師童年生活是怎麼過的... 1. int*(*x)(); // x 是 pointer to function, // 而該 function 會回傳 pointer to int 2. XXX (*y)[10]; // y 是 pointer to array of XXX 把 1. 代進 2. 的 XXX 就會變成: 3. int*(*(*x)())[10]; // x 是 pointer to array of function pointer // 而這些 function 都會回傳 pointer to int 然後再把 3. 代換掉 1. 裡面的 int 4. int*(*(*(*x)())[10])(); // x 是 pointer to function,而該 function 會回傳 // pointer to array of function,而這個回傳陣列中 // 的 function 都會回傳 pointer to int 就算是長門●希也不會寫出這種程式碼 : 問題二 : 若我想宣告多個指標變數 : int* a, b, c; : 會變成只有 a 是指標,b、c 是 int,有什麼「簡潔語法」能夠讓我 : 宣告多個指標變數嗎? : 底下這個方法不能接受,我要a、b、c…等多個有意義的名字。 : int *x[3]; : 這不是簡潔的語法: : int *a; : int *b; : int *c; : 請指教 typedef int* int_ptr; int_ptr a, b, c; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.15.163 ※ 編輯: littleshan 來自: 114.32.15.163 (10/26 12:31)
VictorTom:推, 問題一那個真的是不知道有什麼好問的~_~ 10/26 22:46
tinlans:最近這種題目很流行,我這兩個月已經是第十三次見到了。 10/26 22:49
tinlans:還有故意騙你的,像是在 x 右邊多一組括號,就變成函式。 10/26 22:52
VictorTom:是開學了嗎XD 很想問正常情況什麼時候會寫這種宣告~_~ 10/26 22:53
loveme00835:騙你是呼叫預設建構子嗎 XD 10/26 22:55
x000032001:出題者適合當混亂code大賽教練(誤 10/27 08:50
xatier:http://www.ioccc.org 10/27 09:06
stilltin:長門 \^o^/ 長門 \^o^/ 10/27 15:51
HudsonE:我蠻懶的都這樣寫, int *a, *b, *c; 10/27 16:51
mikevd:\長門/\長門/\長門/\長門/\長門/ 10/27 20:35
fcouple:littleshan先生,謝謝你。 10/28 09:25
fcouple:回一樓,問題一本來是問有幾個指標,這是陷阱題目,我自己 10/28 09:31
fcouple:用compiler試出答案,但我反問自己,若要同時宣告三個指標 10/28 09:32
fcouple:該怎麼寫才精簡,因為陷入迷思,才想不出來,但看了答案後 10/28 09:32
fcouple:就恍然大悟了,你沒看到背後的前因後果,就這樣講話,讓我 10/28 09:33
fcouple:看了難過許久,有必要嗎? 10/28 09:33
purpose:這樣就難過許久...有誤會出來講清楚就好,成熟點 10/28 10:29
VictorTom:Err~~砂鍋大的誤會啊! 那句推文是呼應l大文裡寫的話, 是 10/28 22:51
VictorTom:說這種題目不知道有什麼好出的Orz 如果造成原原po的誤解 10/28 22:51
VictorTom:讓您感到不愉快, 先在此鄭重道歉....<(_ _)> 10/28 22:52
VictorTom:至於何出此言, 實務上這樣的宣告通常都會經過幾層型態的 10/28 22:52
VictorTom:包裝(幾個typedef宣告), 要真的看到那一串出現, 只怕是 10/28 22:53
VictorTom:哪裡撞到了compiler error了由compiler解出來argu你才看 10/28 22:54
VictorTom:得到, 實在沒有必要真的寫出那樣子晦塞難懂的code~_~ 10/28 22:55
VictorTom:當然, 有辦法拆解的如庖丁解牛般容易, 也很屌就是Orz 10/28 22:57