Re: [問題] 問一題面試可能會考的考題

看板C_and_CPP (C/C++)作者 (...)時間16年前 (2010/01/15 16:52), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串4/6 (看更多)
程式語言對參數的處理方式,有許多種方式, 不同的程式語言中有不同的處理方式: (關鍵字: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)

01/15 17:03, , 1F
就某種層面來說只有call by value這種東西
01/15 17:03, 1F
※ 編輯: DJWS 來自: 218.211.0.80 (01/15 17:05)

01/15 17:05, , 2F
我個人倒是認為 Java 全部都是 call by value
01/15 17:05, 2F

01/15 17:05, , 3F
那些東西其實可以說是 "call by value (of the reference)"
01/15 17:05, 3F

01/15 17:06, , 4F
真的是多講多錯...謝謝樓上板友提醒,已改正。
01/15 17:06, 4F

01/15 17:06, , 5F
哎呀慢一步 XD
01/15 17:06, 5F

01/15 17:08, , 6F
哈哈...心意到就好 :D
01/15 17:08, 6F

01/15 17:52, , 7F
其實都是推入堆疊 XD
01/15 17:52, 7F

01/15 17:56, , 8F
推入堆疊也有不同方式...關鍵字calling conventions XD
01/15 17:56, 8F
文章代碼(AID): #1BK2p8rN (C_and_CPP)
文章代碼(AID): #1BK2p8rN (C_and_CPP)