我有几个关于 C++ 中的内存处理的问题。
Mystruct *s = new Mystruct
和有什么不同Mystruct s
?记忆中发生了什么?看这段代码:
struct MyStruct{ int i; float f; }; MyStruct *create(){ MyStruct tmp; tmp.i = 1337; tmp.j = .5f; return &tmp; } int main(){ MyStruct *s = create(); cout << s->i; return 0; }
什么时候MyStruct tmp
免费?为什么最后没有MyStruct tmp
自动释放create()
?
谢谢!