關(guān)于Ruby 方法是按值傳遞還是按引用傳遞
1 回答

慕田峪7331174
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
值傳遞僅僅傳遞的是值
引用傳遞,傳遞的是內(nèi)存地址,修改后會(huì)改變內(nèi)存地址對(duì)應(yīng)儲(chǔ)存的值。
用數(shù)組來(lái)舉例就最清楚了,例如我們定義一個(gè)數(shù)組a[]={1,2};
那么a[0]=1,a[1]=2。
如果我們把數(shù)組a里的元素值作為參數(shù)傳遞,實(shí)際上只是進(jìn)行了值傳遞,對(duì)數(shù)組本身沒(méi)有影響
如果我們把 數(shù)組a的指針作為參數(shù)傳遞,那么假如處理的函數(shù)就可以直接修改數(shù)組a里的值。
代碼實(shí)例:(只是寫個(gè)大概的邏輯,語(yǔ)法可能有錯(cuò)誤)
main()
{
int a[]={1,2};
test(a);
printf(a[0]); //此處打印的值是3, 這就是引用傳遞。
}
public void test(int b[])
{
b[0]=3;
}
- 1 回答
- 0 關(guān)注
- 919 瀏覽
添加回答
舉報(bào)
0/150
提交
取消