物件的生命週期
stactic obj, 靜態物件 (全域變數或是類別或方法中的 static 物件)
僅會被創建一次,也僅會被初始化一次,存活時間直到程式 end 為止。 在程式執行期間,靜態物件的位址不會變更。 然而,靜態物件在 mulit-threads 使用時,要特別注意使用 lock 避免資源競奪。
free store, 自由空間 (new 出來的物件)
程式設計師能利用 new 和 delete 運算子操控物件的生命時間。
temp obj, 暫存物件
其數值會被繫結 bind with 參考 Ref 身上,通常發生在運算過程中產生的 result 結果值。 暫存物件的生命週期由用途來決定,否則生命週期將跟靜態物件一樣延續到程式 end 為止。
automatic obj, 自動型物件 (local 變數)
離開作用域 scope 時被銷毀,此物件生成時,會儲存在 stack 堆疊上,每一函數都有各自的 stack frame。
thread-local, 物件
這類物件跟他所屬的執行緒一起生,一起被銷毀。(可能常發生在手機元件上。)
array & element , 陣列物件
陣列元素物件的生命生成和銷毀都以所屬陣列物件為主,由其擁有者所決定。 這包含非靜態的類別成員。(其擁有者為類別)