[問題] C++ stack中的記憶體管理問題
放在stack中的物件
不是在block結束或函數結束時會回收記憶體嗎?
舉個例子 一個普通函數:
vector<int> *method(){
vector<int> v = {1,2,3};
vector<int> *p = &v;
return p;
}
v物件的生命週期不是只到此函數結束?
但我在主程式
auto p = method();
之後還是可以透過p指標來操作v
表示v還存在?
請問為何會這樣呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.71.28.102
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1450148730.A.257.html
→
12/15 11:16, , 1F
12/15 11:16, 1F
→
12/15 11:25, , 2F
12/15 11:25, 2F
推
12/15 11:43, , 3F
12/15 11:43, 3F
推
12/15 12:01, , 4F
12/15 12:01, 4F
推
12/15 13:11, , 5F
12/15 13:11, 5F
推
12/15 13:30, , 6F
12/15 13:30, 6F
推
12/15 15:29, , 7F
12/15 15:29, 7F
推
12/15 15:45, , 8F
12/15 15:45, 8F
→
12/15 15:46, , 9F
12/15 15:46, 9F