方法傳參詳解

2022-06-30 19:00:15 字數 1227 閱讀 4264

1、string str = "hello";在棧中存的是對應常量池中的位址;

2、處於節省記憶體的考慮,jvm會快取-128到127的integer物件,但是現在num = 200,不在範圍內,所以會建立乙個新物件;

3、int arr在棧中存的也是位址;

4、mydata my在棧中存的也是位址;

方法的引數傳遞機制:

>1 形參是基本資料型別

a.傳遞資料值

>2 實參是引用資料型別

a.傳遞位址值

b.特殊的型別:string、包裝類等物件不可變性

1、s += "world";由於string物件的不可變性,因此會在常量池新生成world和helloworld,並且s指向helloworld,因此s的引用位址發生了改變;

2、n += 1;原因同上,生成乙個新物件,引用新位址;

3、a[0] += 1;位址並沒有發生改變,只是陣列中的元素發生了改變;

4、m.a += 1;位址並沒有發生改變,內部屬性值發生了改變;

golang函式傳參詳解

golang中的基本型別分為值型別和引用型別 參考go中的值型別和引用型別 1.值傳遞 2.引用傳遞 注 golang函式傳參都是以複製變數的方式,不支援引用的方式 特殊的是 go語言閉包函式對外部變數是以引用的方式使用 參考由 go語言閉包函式對外部變數是以引用的方式使用 引發的閉包 摘自go語言...

執行緒傳參詳解,detach的坑

include include includeusing namespace std 執行緒id 每個執行緒都有一串唯一的數字來標識,這串數字就是執行緒id。可通過std this thread get id 來獲取。detach時 1.如果傳遞int這種簡單型別引數,建議都是值傳遞,不要用引用 可...

24 C語言函式傳參詳解

24.1.普通變數作為函式形參 1 普通變數作為引數在函式傳參時,形參和實參名字可以相同也可以不同,實際上都是用實參來替代相應的形參的。2 在字函式內部,形參的值等於實參。原因是函式呼叫時把實參的值賦值給了形參。這就是所謂的 傳值呼叫 相當於實參做右值,形參做左值。24.2.陣列和指標作為函式形參 ...