Re: [問題] 回傳local變數

看板java作者 (Alien)時間19年前 (2006/11/22 14:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串10/10 (看更多)
※ 引述《justinC (無)》之銘言: : ※ 引述《godfat (godfat 真常)》之銘言: : : ^^^^^^^^ ^^^^^^^ : : 陣列又是 new, 就算在 C/C++ 中也不可能會清除內容的 : : 會被清除的只有建立在 stack 中的資料 : : new1 會被清除,new1 的內容可不會,兩者不可混為一談 : 原來如此。一時沒察覺是用new~ : 有gc真方便.. : 不知道life time的問題...gc會決定.....?我亂猜的... : : local variable 永遠會被清掉,不然怎麼叫 local? : : 你在 Java 中可沒辦法寫:return &new1; 啊 : : 根本不可能抓到被清除的內容 : : 我想你需要釐清動態記憶體配置的相關觀念 : 不知道java回傳陣列是怎麼處理 : 是只會回傳referencec還是會自動會將陣列copy一份過去 : 對java不熟...臨時要寫才發現java處理機制不瞭的一堆 這方面, 把 java 的 reference-type variable (非 primitive type) 想成是 pointer 就好了 簡化一點: class TwoDimensionArray { ... } .... TwoDimensionArray* tran() { TwoDimensionArray* myArray = new TwoDimensionArray(x,y); //... return myArray; } 除了不用再理會 delete 的時機, 其實情況就和上 面的 psuedo-C++ code 差不多 Alien -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.72.0.45
文章代碼(AID): #15O_Ggmp (java)
討論串 (同標題文章)
文章代碼(AID): #15O_Ggmp (java)