PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] C++ stack中的内存管理问题
楼主:
CrystalNik
(水晶尼克)
2015-12-15 11:05:28
放在stack中的物件
不是在block结束或函数结束时会回收内存吗?
举个例子 一个普通函数:
vector<int> *method(){
vector<int> v = {1,2,3};
vector<int> *p = &v;
return p;
}
v物件的生命周期不是只到此函数结束?
但我在主程式
auto p = method();
之后还是可以透过p指标来操作v
表示v还存在?
请问为何会这样呢?
作者:
Caesar08
(Caesar)
2015-12-15 11:16:00
是,那只是碰巧可以罢了
http://ideone.com/d8h2v7
楼主:
CrystalNik
(水晶尼克)
2015-12-15 11:25:00
原来如此 感谢
作者:
shadow0326
(非议)
2015-12-15 11:43:00
置底第五诫
作者:
stupid0319
(征女友)
2015-12-15 12:01:00
stack在程式结束前永远存在呀XD
作者:
chchwy
(mat)
2015-12-15 13:11:00
还没被覆蓋的内存垃圾 随机当的祸根
作者:
james732
(好人超)
2015-12-15 13:30:00
房租到期只是刚好还没有别的房客住进去
作者:
exeex
(执行档EX)
2015-12-15 15:29:00
第一次可以 跑第二次就很有可能被盖掉 然后当掉
作者:
stupid0319
(征女友)
2015-12-15 15:45:00
其实这个技巧在一些地方也有用到,像是游戏机破解透过更改stack,含数在return时就会跑到别的程式码
继续阅读
[问题] gcc 编译器问题
ho83leo
[问题] Qt编译器设定问题
mikukonn
[问题] function 如何传入或回传reference NULL
yhn0tgb60
[问题] linux c tcp client 程式
ck49
[问题] MFC的PostMessage与ON_Message问题
eva527
[问题] linklist制作stack
f422661
[问题] 问一个MISRA-C RULE的解释
qeagle
[问题] 请问C的资料结构.算法书
LauPi
[问题] 字符阵列问题
anoymouse
[情报]C++线上课程
moremusic
Links
booklink
Contact Us: admin [ a t ] ucptt.com