作者godfat (godfat 真常)
看板java
标题Re: [问题] 回传local变数
时间Sat Nov 18 15:17:44 2006
※ 引述《justinC (无)》之铭言:
: int [][] tran()
: {
: int [][]new1=new int [colSize][rowSize];
^^^^^^^^ ^^^^^^^
阵列又是 new, 就算在 C/C++ 中也不可能会清除内容的
会被清除的只有建立在 stack 中的资料
new1 会被清除,new1 的内容可不会,两者不可混为一谈
: for(int i=0;i<rowSize;++i)
: for(int j=0;j<colSize;++j)
: new1[j][i]=array[i][j];
: return new1;
: }
: 我在class的method写一个转置矩阵
: 最後回传的是tran内宣告的new1二维
: 但是在main印出new1却有值...
: 难道说离开function值没有被马上清掉?
: 不知道java在处理local变数怎麽处理
local variable 永远会被清掉,不然怎麽叫 local?
你在 Java 中可没办法写:return &new1; 啊
根本不可能抓到被清除的内容
我想你需要厘清动态记忆体配置的相关观念
--
By Gamers, For Gamers - from the past Interplay
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.228.87.125