Re: [問題] function中為什麼不能再宣告function
※ 引述《WhisperGhost (oops)》之銘言:
: 有人問到,為什麼不能把function宣告在main中,是不是法則上本身就不行
: 比如說variable的scope都是有規定他的性質。
:
: 因為有人問了突然不知該怎麼解釋,我從沒想過這種問題 XD
這是個程式語言方面的問題,"為什麼C++ function中不能宣告function".
其實問題字面上問錯了,C++ function中可以宣告function,
但是,function中不可以定義function.
答案可能是本來就這樣,他當初設計時沒有想到.
答案也可能是,相對於巢狀function的定義,就要有巢狀function的系統stack的
處理,那有點複雜,而且做起來可能長得跟處理用class宣告的變數一樣,二種處理會混淆.
另一點是,在系統stack要取回某local function的位址,就要在那個local funtion
scope中找到那個local function,不好做.
最基本的答案是,C++規格沒規定這個部份,設計者沒這麼想. 他只做了巢狀的
資料結構和巢狀的class,已經夠用了.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.228.249
推
12/25 22:00, , 1F
12/25 22:00, 1F
※ 編輯: yauhh 來自: 59.112.228.249 (12/25 23:10)
推
12/26 07:13, , 2F
12/26 07:13, 2F
→
12/26 16:47, , 3F
12/26 16:47, 3F
→
12/26 16:49, , 4F
12/26 16:49, 4F
→
12/26 16:49, , 5F
12/26 16:49, 5F
→
12/26 16:50, , 6F
12/26 16:50, 6F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
11
17