每个人都知道结构是值类型,类是引用类型,因此结构在堆栈上分配,并且对象在堆上分配。
我想知道的是,什么是在堆栈上分配的东西的含义,而不是在堆上分配的东西?
答案 0 :(得分:1)
在堆栈上分配内存的一个一般含义是,一旦它离开作用域就会丢失(例如,函数/方法返回)。堆内存可以持续更长时间,不必担心这样的事情。
<强>更新强>:
我没有提到的另一个重要项目是堆内存必须由某人管理。根据语言,这可以是程序员(C,C ++等),垃圾收集器(Java,C#等)。如果堆内存在使用完后没有被清除,则最终会导致内存泄漏。