Re: [問題] 可否讓陣列引數變成傳值呼叫

看板java作者 (小安)時間16年前 (2009/05/30 14:05), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/3 (看更多)
※ 引述《Holocaust123 (Terry)》之銘言: : 由此可知 java 的函數若以陣列為引數,預設是傳址呼叫。 : 有沒有辦法改成傳值呼叫呢? 1. Java 沒有 Poninter,只有 Reference, 所以根本也不會有 Call by Address。 2. Java 也沒有 Call by Reference, 全部都只是 Call by Value。 你的程式遇到的情形, 其實是對 reference 變數做了 Call by Value, 因此傳入的參數是另一份 reference 但指向同一個物件, 對 reference 變數來說,這是 Call by Value。 詳情請參考本版 5054 討論串。 (光是本版大概就討論了三次以上囉,不過比較完整的我只找到 5054 這串) 要解決你的問題, 請自己對陣列進行複製。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.4.53

05/31 12:11, , 1F
就我的認知上C的call by address是call by value of pointe
05/31 12:11, 1F
文章代碼(AID): #1A8Cob9x (java)
文章代碼(AID): #1A8Cob9x (java)