看板 C_and_CPP 關於我們 聯絡資訊
程式語言對參數的處理方式,有許多種方式, 不同的程式語言中有不同的處理方式: (關鍵字:programming language evaluation strategy) call by value call by reference call by name call by need ...... 僅以C++的函式語法來看,C++傳遞參數的語法可以分為幾種不同的方式, 不過這比較像是口語化的說法,不是什麼專有名詞: pass by value pass by pointer (address) pass by reference return by value return by pointer (address) return by reference 上面跟下面是沒什麼關係的兩件事, 不過很多人都把這些名詞混著用, 所以常常有誤解。 最後得提一下,C只有call by value,C++只有call by value和call by reference兩種。 另外Java只有call by value。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.211.0.80 ※ 編輯: DJWS 來自: 218.211.0.80 (01/15 16:53) ※ 編輯: DJWS 來自: 218.211.0.80 (01/15 16:57) ※ 編輯: DJWS 來自: 218.211.0.80 (01/15 17:01)
akasan:就某種層面來說只有call by value這種東西 01/15 17:03
※ 編輯: DJWS 來自: 218.211.0.80 (01/15 17:05)
LPH66:我個人倒是認為 Java 全部都是 call by value 01/15 17:05
LPH66:那些東西其實可以說是 "call by value (of the reference)" 01/15 17:05
DJWS:真的是多講多錯...謝謝樓上板友提醒,已改正。 01/15 17:06
LPH66:哎呀慢一步 XD 01/15 17:06
DJWS:哈哈...心意到就好 :D 01/15 17:08
Bencrie:其實都是推入堆疊 XD 01/15 17:52
DJWS:推入堆疊也有不同方式...關鍵字calling conventions XD 01/15 17:56