看板 java 關於我們 聯絡資訊
※ 引述《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